cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ktr0063
Level 2

Quick Patch Com error -4345

I've created an InstallShield project for a database application that contains a couple COM objects that are set to "COM Extract at Build". The install builds fine with no errors. During the build, the output window for the COM objects contains:

Searching project for extract-at-build components...
Extracting COM data from 2 component(s)
New ProgId ASKSAM.ASInternetProtocol.7 dynamically acquired for component AS7_AIPP.dll
New ProgId ASKSAM7.ASInternetProtocol dynamically acquired for component AS7_AIPP.dll
New ProgId ASAVEOCX.ASaveOcxCtrl.1 dynamically acquired for component ASaveOcx.ocx
New Class {7176DE82-982D-4F2B-A562-9D0BBE96DEBC} dynamically acquired for component AS7_AIPP.dll
New Class {0BD69048-7A03-41D0-BDB9-8367C2446B5B} dynamically acquired for component ASaveOcx.ocx
New Class {4F4BEE5F-C5DB-48CF-8D3B-4A3E9EAFE109} dynamically acquired for component ASaveOcx.ocx
New Registry Entries (7) dynamically acquired for component AS7_AIPP.dll
New Registry Entries (13) dynamically acquired for component ASaveOcx.ocx

Now I've created a Quick Patch project and selected among other files the same 2 COM objects. But when I try to build the Quick Patch, I get error 4345 with the following in the output window:

Extracting COM data from 2 component(s)
New ProgId ASKSAM.ASInternetProtocol.7 dynamically acquired for component _07CD9D5D_F4B2_46B6_8256_5F621798E705_
New ProgId ASKSAM7.ASInternetProtocol dynamically acquired for component _07CD9D5D_F4B2_46B6_8256_5F621798E705_
New ProgId ASAVEOCX.ASaveOcxCtrl.1 dynamically acquired for component _1D81DA8C_73A0_4663_BC1D_2C5C41AA5257_
New Class {7176DE82-982D-4F2B-A562-9D0BBE96DEBC} dynamically acquired for component _07CD9D5D_F4B2_46B6_8256_5F621798E705_
New Class {0BD69048-7A03-41D0-BDB9-8367C2446B5B} dynamically acquired for component _1D81DA8C_73A0_4663_BC1D_2C5C41AA5257_
New Class {4F4BEE5F-C5DB-48CF-8D3B-4A3E9EAFE109} dynamically acquired for component _1D81DA8C_73A0_4663_BC1D_2C5C41AA5257_
ISDEV : fatal error -4345: Failed to build TypeLib information for dynamically extracted COM components

In the task window:
Failed to build TypeLib information for dynamically extracted COM components -4345

If use the 2 updated COM objects in the original InstallShield project, it builds fine with no errors.

Another thing that happens is if I try to build the Quick Patch again (even if I remove the COM objs) I get the errors:

Cannot delete directory C:\InstallShield 2008 Projects\Patch\UpdatedImage -5044
Cannot copy source 'C:\Program Files (x86)|Macrovision\IS2008\Support\QuickPatch.pcp' to target 'C:\InstallShield 2008 Projects\Patch\Interm\QuickPatch.pcp' 1183

I have to exit InstallShield and restart it to get the build to work. Closing and reopening the project does not fix the last problem.

Any help would be apprecitated.
Labels (1)
0 Kudos
(4) Replies
apellizzaro
Level 2

Has anybody found a solution? THe thread ahs been viewed so many times, but no posting back....
Thanks for any help
Antonio
0 Kudos
emi_aucotec
Level 2

The only workaround I have found for this error is to adapt the flag 0x8 in the "Attributes"-column in the "ISQuickPatchFile"-table.

This means, that 8 has to be subtracted from the value in this column for the files producing the error. This changes the registration procedure for the COM component from Extraction at Build to SelfRegistration during setup.
I did not test yet if the registration is succesful then.

Regarding the effect that after a build error Installshield slows down the whole system and cannot rebuild because of locked files until it is restarted I can only say that it is reproducable but I could not find any solution for that.
0 Kudos
carlroche
Level 2

I'm getting this error does anyone have a workaround? I unchecked read only for the source dir. and I still get the error something has that file locked. The patching feature in Installshield is so buggy.

ISDEV : fatal error 1183: Cannot copy source 'c:\program files\installshield\2010\Support\QuickPatch.pcp' to target 'C:\tinderbox\build\Workstation\Installer\Patches\Interm\QuickPatch.pcp'
0 Kudos
ShineKumar
Level 2

Correct me if I am wrong. When I faced same error, I just deleted the file from the Interm folder after closing the dev studio. And it worked for me! :cool:
0 Kudos