View Full Version : Error's during COM-extract in IS12 Beta 2

04-24-2006, 10:46 AM
I get 2 types of error during COM-Extract in IS12 Beta 2:

1) ISREgSpy.exe reports "Unable to locate component" because MSVCI70.dll
is missing on the build machine. Copying MSVCI70.dll to System32 fixes the problem.

2) Another message box reports Error "Component not correctly registered".
Pressing OK continues the installation build which completes with 0 errors and 0 warnings.

I can install, launch and uninstall my application with no problems - so far.

Mike Marino
04-24-2006, 12:53 PM
The second error has been fixed. If you would like to try this fix, let me know I can post a fixed version of IRRegSpy.exe.

I have not seen the first error. If you have a DLL that reproduces it, would it be possible for you to send it to me?

It could be a LoadLibrary issue with Windows not being able to find the MSVCI70.dll in the standard search path. Adding MSVCI70.dll to system32 forces it in the search path. Where was this file before? In the same folder as the file you are scanning?


04-25-2006, 07:28 AM
I also had a failure during the com extract. The message was that I was missing DZIP32.dll. My host machine is XP X64, all service packs and updates applied. The error suggested an uninstall and re-install. This did not fix the issue. I was able to work around this because we ship this dll. I put it in the directory of IRRegSpy.exe and the installation would build, but the installations that I built started installing and then get to the point at the very beginning where the Installshield dialog states that "Preparing to install" and hangs. I have not been able to work around this issue or log what is happening but my first guess maybe the above work around? Any help or ideas? I am using the beta 2.

04-25-2006, 07:35 AM
I will be happy to test the fixed version of ISRegSpy.exe if you provide it to me.

I guess that MSVCI70.dll is a missing dependency in the IS12 installation ?
Copying MSVCI70.dll from another machine to system32 on the build machine solved the problem. I get this error around 10 times during build - my install COM-extracts 300+ components out of 1500+, so a binary search is not the best solution to find a component for that shows the problem. Will the logfile show the failing components ?

Mike Marino
04-25-2006, 02:24 PM
I do not think we are dependant on MSVCI70.dll. My guess is that one of the DLLs you are COM extracting is. When we COM extract we actually tell the DLL to register itself (and catch all of its registry data). If a dependency of a DLL you are COM extracting is missing, you will get errors like you are seeing.

The new version of ISRegSpy is attached.

04-26-2006, 05:57 AM
It is correct that some of my components depend on MSVCI70.dll which was missing on the fresh installed build machine = no issue.

After updating the ISRegSpy.exe all my projects now builds with 0 warnings and 0 errors. I will continue testing my projects build with IS12.

I have patched my IS11.5 install with a patch I got 2-3 month ago to solve
problems COM-extracting components build with VS2005. Unfortunately the patch had a side effect for VB components. This problem seems to be fixed now in IS12 Beta2. If possible - please give me some instructions on how to patch IS11.5 with the IS12 components - do I need to change settings in the registry ?

Mike Marino
04-26-2006, 09:27 AM
We did release an (experimental) version of our new COM extraction so users could try this with InstallShield 11.5. The problem is that our new mechanism pulls more COM information when registering VB created DLLs. We solved this in 12 by making a Filter list for registry keys that we should not pick up (Filters.xml).

Unfortunately this change is not an easy one to port into 11.5. If you need to get the information into 11.5, you could use 12's regspyui.exe to generate a reg file that you could import into and 11.5 project.

04-26-2006, 09:59 AM
OK - then I will wait for IS12 for which I currently just have this issue

When will the next IS12 refresh be available ?