[ 09. July 2001]
- Nasinec
Registrácie komponentov v ASP
Neviem, ako vy, ale ja som si zvykol pri písaní ASP aplikacií na Microsoftacku stavbu aplikácie 3-Tier (trojradová) a všetky funkcie vkladám do komponenty. Je to jednoduchšie pri opravovaní chýb a nikto mi nevidi do kódu. Lenže to mi prinieslo množstvo stresu pri ladení, pretože pri zmene kódu v komponente je potrebné ju odregistrovať a zaregistrovať.
Vždy som písal do command promtu regsrv32.dll namiesto regsvr32.dll (pripadá mi to logickejšie), dlho mi trvalo kým som napisal path ku komponente - jednoducho: strata času. Ak máte podobné problémy, vytvorte si tento maly RegSvr32.inf súbor (na konci článku) a dvakrát naňho kliknite. Odteraz stačí ukázať na DLL, OCX, EXE alebo AX súbor pravou myšou a vybrať buď Register alebo Unregister a je to.
Druhý problém pri aplikácii s komponentami je, že IIS dlho "drží" komponentu a nie je možné ju bez reštartovania IIS servisu alebo celého počítača (aj to som robieval pri mojich začiatkoch, LOL) uvoľniť a prepisať. Avšak stačí si vytvoriť malý .bat súbor a doňho napísať jediný príkaz: iisreset - tento reštartuje IIS service a uvoľní komponentu a potom ju môžete prepísať novou verziou. Príkaz sa dá napísať aj do command promtu alebo spustiť pomocou Start/Run/iisreset. Nezabudnite predtým komponentu odregistrovať a po reštartovaní IIS spať zaregistrovať.
Skopíruj tento text do notepadu a pomenuj súbor RegSvr32.inf - dvakrát klikni na súbor.
; RegSvr32 Shell Extension
; Allow you to register DLL, OCX, EXE and AX with a right click !
; Win 9x, NT4 & 2k
; Release 1.1
;
[Version]
signature="$chicago$"
[DefaultInstall]
CopyFiles=Files.inf
AddReg=Reg.Add,Reg.Uninstall
[DefaultInstall.ntx86]
CopyFiles=Files.inf
AddReg=Reg.Add,Reg.Uninstall.NT
[DefaultUninstall]
DelFiles=Files.inf
DelReg=Reg.Add,Reg.Uninstall,Reg.Uninstall.NT,Reg.Remove,
[SourceDisksNames]
1="%01%",,1
[Reg.Uninstall]
HKLM,%UnInstallPath%,DisplayName,,%UninstallDispName%
HKLM,%UnInstallPath%,UninstallString,,"%10%
undll.exe setupx.dll,InstallHinfSection DefaultUninstall 132 %17%%InfFile%"
[Reg.Uninstall.NT]
HKLM,%UnInstallPath%,DisplayName,,%UninstallDispName%
HKLM,%UnInstallPath%,UninstallString,,"%11%
undll32.exe setupapi,InstallHinfSection DefaultUninstall 132 %17%%InfFile%"
[Reg.Add]
HKCR,.ocxshellGejRegOCX,,,Register
HKCR,.ocxshellGejRegOCXcommand,,,"regsvr32 %1"
HKCR,.ocxshellGejUnRegOCX,,,UnRegister
HKCR,.ocxshellGejUnRegOCXcommand,,,"regsvr32 /u %1"
HKCR,.axshellGejRegAX,,,"Register Filter"
HKCR,.axshellGejRegAXcommand,,,"regsvr32 %1"
HKCR,.axshellGejUnRegAX,,,"UnRegister Filter"
HKCR,.axshellGejUnRegAXcommand,,,"regsvr32 /u %1"
HKCR,dllfileshellGejRegDLL,,,Register
HKCR,dllfileshellGejRegDLLcommand,,,"regsvr32 %1"
HKCR,dllfileshellGejUnRegDLL,,,UnRegister
HKCR,dllfileshellGejUnRegDLLcommand,,,"regsvr32 /u %1"
HKCR,exefileshellGejRegEXE,,,"Register Server"
HKCR,exefileshellGejRegEXEcommand,,,"%1 /regserver"
HKCR,exefileshellGejUnRegEXE,,,"UnRegister Server"
HKCR,exefileshellGejUnRegEXEcommand,,,"%1 /unregserver"
[Reg.Remove]
HKCR,.ocxshellGejRegOCX
HKCR,.ocxshellGejRegOCXcommand
HKCR,.ocxshellGejUnRegOCX
HKCR,.ocxshellGejUnRegOCXcommand
HKCR,.axshellGejRegAX
HKCR,.axshellGejRegAXcommand
HKCR,.axshellGejUnRegAX
HKCR,.axshellGejUnRegAXcommand
HKCR,dllfileshellGejRegDLL
HKCR,dllfileshellGejRegDLLcommand
HKCR,dllfileshellGejUnRegDLL
HKCR,dllfileshellGejUnRegDLLcommand
HKCR,exefileshellGejRegEXE
HKCR,exefileshellGejRegEXEcommand
HKCR,exefileshellGejUnRegEXE
HKCR,exefileshellGejUnRegEXEcommand
[Strings]
InfFile="RegSvr32.inf"
SetupRegPath="SoftwareMicrosoftWindowsCurrentVersionSetup"
UninstallDispName="Gej's RegSvr32 Shell Extension"
UnInstallPath="SoftwareMicrosoftWindowsCurrentVersionUninstallGejRegSvr32ShellEXtension"
[DestinationDirs]
Files.Inf=17
[Files.Inf]
Regsvr32.inf
|
|
|