[=hris
5th August 2003 11:08 UTC
ExecShell & regsvr32 help
I am trying to get my installer to register an ocx file using regsvr32.
When i do this manually, i use
C:\WINDOWS\system32\regsvr32.exe C:\WINDOWS\system32\MSwinsck.ocx
So, i tried to make this less OS specific and do it in the installer, with this command:
ExecShell open "$SYSDIR\regsvr32.exe $SYSDIR\Mswinsck.ocx"
When i run the installer, it says that it did execute the exact command i was expecting it to execute, but normally a message box pops up saying something along the lines of "Succesfully registered mswinsck.ocx in registry, but when the installer does it nothing happens - does anyone know if the installer has actually performed the command properly, cause i have no real way of telling :igor:
Thanks
Afrow UK
5th August 2003 11:10 UTC
Try
Exec "$\"$SYSDIR\regsvr32.exe$\" $\"$SYSDIR\Mswinsck.ocx$\""
-Stu
[=hris
5th August 2003 11:47 UTC
Thanks, it works now :D
kichik
5th August 2003 12:41 UTC
Why not just use RegDLL?
[=hris
5th August 2003 13:43 UTC
never used that before - what is the difference? :confused:
Afrow UK
5th August 2003 13:50 UTC
It's a better solution. It will work most definately on all Win OS'.
-Stu
[=hris
5th August 2003 15:29 UTC
Thanks - will change that :)
Where is regdll located?
I did a search, and it didnt find anything by that name?
kichik
5th August 2003 15:31 UTC
It's a NSIS command. Search the NSIS documentation.
[=hris
6th August 2003 08:46 UTC
got it, so i can do
RegDLL "$SYSDIR\MSwinsck.ocx"
And that will call the registry server just like using regsvr32.dll?
Afrow UK
6th August 2003 10:51 UTC
Yes, else it will print an error message I think?
-Stu
Sunjammer
6th August 2003 13:31 UTC
The error flag is set if it can't register the DLL, see the docs for RegDLL and IfErrors.
[=hris
6th August 2003 17:28 UTC
ok, thanks :) i will try it later