bg123
19th December 2005 01:46 UTC
Flash.ocx does not get installed
I am installing flash.ocx using:
!insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_PROTECTED "${REDISTRIB}\MACROMED\FLASH\Flash.ocx" "$SYSDIR\MACROMED\FLASH\Flash.ocx" "$SYSDIR"
My other dlls install ok using a similar directive. The flash.ocx does not get put into the target's "install after reboot" list or anything, the file does not even get copied, let alone registered.
Target does not have any version of flash installed. Does InstallLib require that sysdir\macromed\flash exist on the target?
bhaelochon
19th December 2005 15:30 UTC
I think it's a really bad idea for anyone to try to repackage someone else's installs on a file-by-file basis. Rather, you should require that the end-user already have Flash installed, or you should include the Flash installer in your installer. You can then unpack it to $PLUGINSDIR and run it with an ExecWait statement.
bg123
19th December 2005 18:39 UTC
Um, the fact that it is flash.ocx was mentioned so that anyone who knows about InstallLib would say it is special cased, if it is.
The specific question is "do we need to create the subdirectory off winsys so InstallLib will copy and register it?".
When I was using the old vb Package Wizard, it found the flash.ocx and installed/registered it correctly. It did not see any dependencies. (I switched to NSIS for many other reasons).
When this installer runs, and app is started, it gets run time error due to no flash.ocx. Copying the flash.ocx file and registering it fixes it.
This installer is not intended for general distribution to an end user in the conventional sense (i.e. cannot demand that they get flash). It is for setting up app on a special purpose machine. When installing in the factory, they have the CD but no internet access. Macromedia distros are mostly internet based.
bg123
20th December 2005 01:55 UTC
And the answer is: if the directory under system32 exists, the ocx will be extracted into it and registered. If directory does not exist, it says "skipped" and fails to register.