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

Setup file could not be created


9 replies to this topic

biao81

biao81
  • Members
  • 4 posts

Posted 26 December 2003 - 06:36

I have encounter this problem whenever I create a setup file if I include the dependencies.

When I am creating the setup file, the setup file will stop at this line: Extracting COM data from 5 component(s). Actually the whole program is still not in "Not Responding" stage, but it seem like after 1 or 2 hour, the setup progress output still show the same line and seem like it's not moving on.

Yet, sometimes(maybe lucky enough but rarely happen), when Installshield show the same line : Extracting COM data.... There is a blank window pop up, once I close the window the setup goes on and complete.

I know this might not be a very difficult problem for you guys, but as a new user, I am just stumbled here. Please help.....!!!!!!

sad.gif sad.gif sad.gif

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 December 2003 - 12:00

To extract COM data, InstallShield actually tries to register your OCX (or whatever component) to intecept the COM data. If your OCX hangs during this process on the development machine, this would cause InstallShield to hang.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 30 December 2003 - 10:05

I have experienced a lot of strange stuff with the COM extract. I have seen the app hang, I have seen empty message boxes like you say and I have seen the COM extract put build computer specific data (HKCU) into the installation database.

If you have set a file that is not self-registering to COM extract at build the setup creation can hang. The blank message box you see are usually error messages from DLL's or EXE files that cannot complete the self-registration (usually becasue a file that is needed for registration to succeed cannot be located - often language resources).
Regards
-Stein Åsmul

biao81

biao81
  • Members
  • 4 posts

Posted 05 January 2004 - 09:27

So, how can I solve this problem? or is there a way to just bypass it? because I have tried installshield on two different machine, and they give me same problem. headache!

Can you pls elaborate? THankX

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 05 January 2004 - 20:47

Use Dependency walker to check if the file you want to extract COM information from can find all dependent files. You can download dependency walker from the Internet, just google it.

You can also open a command prompt, navigate to the directory where the COM file is located and try to register it manually:

For a dll:
> regsvr32.exe YourComFile.dll

For an EXE file:
YourComFile.exe /RegServer

You should not see any error messages after typing in these commands and pressing enter (if the files are really COM files and they register properly).
Regards
-Stein Åsmul

biao81

biao81
  • Members
  • 4 posts

Posted 06 January 2004 - 09:18

Thnx for instruction, I just wonder if I can run the application without error, doesn't it mean that I have all the dependency file dll or ocx can be found and registered?

I dont understand much about dependency.

I have already run dependency walker, and I have found a lot of error icon on my dll, do i need to register all that? it's too many and impossible for me to do it one by one. so how?

and really look like most of the file is language related file, guess it's not important rith? can i explicitly exclude those file in installshield?

Attached Images

  • dependency_walker.jpg

Edited by biao81, 06 January 2004 - 10:11.


Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 06 January 2004 - 18:41

Only COM files need to be registered. Most dll's aren't COM components, and they hence only need to exist in the system path (that is normally c:\winnt\system32) or in the application folder itself to be "found" by other files that depend on them.

For your application to work correctly it should be able to "find" all the dll's listed as "not found" in the screen shot you added. This sometimes means that you need to add a merge module to install system components or various runtime files.

You should make sure "COM Extract" is not enabled for any files that aren't COM components in the first place. To identify a COM component, open it in Dependency Walker and ensure that you see the functions "DllRegisterServer" and "DllUnregisterServer".
Regards
-Stein Åsmul

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 06 January 2004 - 18:45

After a quick look at the files that were not found it seems like you are installing some sort of database application. You probably need to add some merge modules to install the missing files.
Regards
-Stein Åsmul

biao81

biao81
  • Members
  • 4 posts

Posted 07 January 2004 - 03:35

This morning, when I try to make the setup file again, and the error message box finally appear again, I just close it and the installation compelete. Actually I haven't done anything special so far, but it suddenly works. So is there a where to close or skip the error message box even when it not appear. I know this doesn;t make sense, but there is how i solve this problem so far.

And although as you say, there is error message, but even the error exists, my application still can run perferctly on my client computer, so it's ok.

And for what u have mention about Dependecy Walker, i;m too unfamiliar with it to follow the instruction.

thnx

workflow

workflow
  • Members
  • 4 posts

Posted 16 June 2004 - 13:41

I have had this in the past - seems to be when DLL's are being referenced by e.g. Visual Studio and that project is open (i.e. files are in use) - it probably worked when you didn't have some app open that was open before