![]() |
|
#1
|
|||
|
|||
|
Error 1001.InstallUtilLib.dll: Unknown error
As usual, I'm try to use some aspect of InstallShield that I haven't used before, and of course it doesn't work. This bug is related to the difference between creating an MSI file using IsSABld.exe (version: 11.50.0.42618)
versus the InstallShield 11.5 IDE (also version: 11.50.42618). Here's the error I get when I use the MSI file built using IsSABld.exe: Action 10:49:57: _7E90C9D8F74C4A2A86AF49FF730E3D19.install. Error 1001.InstallUtilLib.dll: Unknown error. MSI (s) (DC!7C) [10:49:59:625]: DEBUG: Error 2769: Custom Action _7E90C9D8F74C4A2A86AF49FF730E3D19.install did not close 1 MSIHANDLEs. Internal Error 2769. _7E90C9D8F74C4A2A86AF49FF730E3D19.install, 1 Action ended 10:49:59: InstallFinalize. Return value 3. I am using the same ISM file in both cases. In comparing the two MSI files I've found that the reason the custom action fails is because of the way it generates entries in the CustomAction table: #( <$Row Action="_F45AC9242ADC4DE794949A6FF17679F2.uninstall" Type="1025" Source="_BDBD9CA72E304D64B171912763B27345" Target="ManagedInstall" > #) #( <$Row Action="_F45AC9242ADC4DE794949A6FF17679F2.uninstall.SetProperty" Type="51" Source="_F45AC9242ADC4DE794949A6FF17679F2.uninstall" Target='/installtype=notransaction /action=uninstall /LogFile= /EMAILADDR="[EMAILADDR]" /INSTALLDIR="[INSTALLDIR]\" "[#xefinstall.dll]"' > #) The table entry in RED doesn't work the table entry in GREEN does work. The only difference is that the broken MSI is generated by IsSABld.exe. Is there a HOTFIX for this? I've already installed is1150update4.exe. Thanks, Dan |
|
#2
|
||||
|
||||
|
Do I understand correctly that in the working install you have both entries (the red AND the green) but in the failing install the green part is missing?
It looks like the red section defines a deferred execution custom action, and the green section is the action that sets the associated CustomActionData.
__________________
Stefan Krüger Microsoft Windows Installer MVP InstallSite.org Stefan's Blog ![]() Please post your questions in the forum |
|
#3
|
||||
|
||||
|
And it looks like these actions are coming from a merge module. Are you building this merge module with the coomand line builder, too? Can you reproduce the same problem with custom actions that are in your main project? (I'm trying to find out whether this is a problem with building the merge module, or with merging it into the main .msi)
__________________
Stefan Krüger Microsoft Windows Installer MVP InstallSite.org Stefan's Blog ![]() Please post your questions in the forum |
|
#4
|
|||
|
|||
|
Stefan,
The "green" entry is from the MSI file that is generated when performing the release build using the InstallShield IDE. The "red" entry is from the MSI file generated by the command-line build IsSABld.exe. I used a program called MSIDIFF to compare the two MSI files that should be identical, and what you see in red and green is the difference. The MSI file that has the "green" entry works, the MSI file with the "red" entry doesn't and that's the one generated by IsSABld.exe. These table entries are not related to any merge modules. They are created by the InstallShield software because the component they refer to has the ".NET Install Class" property set to "Yes" in the IDE. The bug seems to be a difference between the way IsSABld.exe interprets the ISM file versus the IsCmdBld.exe program. Thank you for looking into this. Sincerely, Dan |
|
#5
|
||||
|
||||
|
The red code is a deferred DLL custom action. The green code only sets a property (ca type 51). So there has to be a custom action with name
_F45AC9242ADC4DE794949A6FF17679F2.uninstall in the IDE generated .msi file, too. Can you please double chekc this with Orca?
__________________
Stefan Krüger Microsoft Windows Installer MVP InstallSite.org Stefan's Blog ![]() Please post your questions in the forum |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|