Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

ActiveX error obtained after install


2 replies to this topic

Mariscal

Mariscal
  • Full Members
  • 50 posts

Posted 12 November 2004 - 16:16

In some situations, after installing an application, one encounters the error message "ActiveX component can't create object" when trying to run that application.

The workaround is to register about 7 or 8 system32 dlls, and the problem goes away. However, these dlls are included in a self-registering file group, so I'm a bit baffled as to why they are not registering during installation.

I know that the end user in one of these cases was running XP; could not having XP in the included list of OSs under Project Settings cause this problem?

I am using IS 6.21. Any help or insight would be much appreciated...

Xitch13

Xitch13
  • Members
  • 134 posts

Posted 12 November 2004 - 20:45

I don't believe your problem is caused by Windows XP not being listed as an OS. Rather it could be because those system files you're putting down are already installed and registered. I've found that if I try to install a newer version of a registered file and attempt to re-register it (set it to self-register on install) it un-registeres it. The workaround I use is to not register the file on patches and such if I'm sure it was already present on the system (I assume it alreadt registered because the system was working). If I'm not sure that file is going to be present and register when I run (which is most likely in your case), I see if the file exists, delete, then allow it to be registered by the engine when it's installed. See below

CODE

if (Is(FILE_EXISTS, WINSYSDIR^"SystemFileName.dll")) = TRUE then
    DeleteFile("SystemFileName.dll" );
    ComponentSelectItem(MEDIA, "System File Name", TRUE);
    WriteLine(nvLogFileHandle, "Deleted SystemFileName.dll to allow re-registering");
endif;


The WriteLine is just an output to my log file. I check for the file, delete it, then choose the component that replaces it (with the self-registration option chosen for the file group.


Try this and see if that works. Even if this is not the cause of your problem, you will eventually run into this concern. It's one of IS dirty secrets..
There is great chaos under heaven, and the situation is excellent. (Mao Tse Tung)

Mariscal

Mariscal
  • Full Members
  • 50 posts

Posted 12 November 2004 - 21:41

Great, thanks for the info. I will definitely give this a try...