This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Chained .msi does not install
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 15, 2009
03:12 PM
Chained .msi does not install
I have a .msi that I want to install (chain) with another .msi.
I've created the new chained .msi package in Releases and selected the .msi through the Browse button (clicking yes to use streaming). I've tried both leaving Install Condition as "Not Installed" and changing it to "True".
I built the .msi, and ran the install, but it never installs the chained package. There is no mention of it anywhere during the installation. I know that it's included, since the resulting .msi file size is appropriate. It's just not installing.
Is there anything I'm missing? What else is required to install a chained .msi? (I have manually installed Windows Installer 4.5)
I've created the new chained .msi package in Releases and selected the .msi through the Browse button (clicking yes to use streaming). I've tried both leaving Install Condition as "Not Installed" and changing it to "True".
I built the .msi, and ran the install, but it never installs the chained package. There is no mention of it anywhere during the installation. I know that it's included, since the resulting .msi file size is appropriate. It's just not installing.
Is there anything I'm missing? What else is required to install a chained .msi? (I have manually installed Windows Installer 4.5)
(9) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 18, 2009
11:36 AM
Are you installing any prerequisites that require a delayed reboot? Searching the log for chainer or chainpackage should find all the relevant entries, whether they're the provided actions, command line, Windows Installer scheduling of the embedded chainer, etc. Does the logging around ISChainPackagePrepare tell you anything?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 18, 2009
01:48 PM
OK, I managed to get it to work... temporarily. I now have a .exe and a .msi (streamed). Then I made some changes, and I'm not sure which one is causing the following problem:
During the installation, it jumps to the setup error screen, saying that the product was not installed. I think this is the relevant area of the log file:
[code]
MSI (s) (78:50) [13:16:56:734]: Doing action: ISChainPackagePrepare
Action 13:16:56: ISChainPackagePrepare.
Action start 13:16:56: ISChainPackagePrepare.
MSI (s) (78:50) [13:16:56:765]: Creating MSIHANDLE (3) of type 790542 for thread 3408
MSI (s) (78:C4) [13:16:56:765]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3FDC.tmp, Entrypoint: ISChainPackages
MSI (s) (78:0C) [13:16:56:765]: Generating random cookie.
MSI (s) (78:0C) [13:16:56:781]: Created Custom Action Server with PID 3040 (0xBE0).
MSI (s) (78:54) [13:16:56:843]: Running as a service.
MSI (s) (78:54) [13:16:56:859]: Hello, I'm your 32bit Impersonated custom action server.
MSI (s) (78!BC) [13:16:56:968]: Creating MSIHANDLE (4) of type 790541 for thread 2748
MSI (s) (78!BC) [13:16:56:968]: Note: 1: 2205 2: 3: ISChainPackage
MSI (s) (78!BC) [13:16:56:968]: Note: 1: 2228 2: 3: ISChainPackage 4: SELECT * FROM `ISChainPackage` ORDER BY `Order`
MSI (s) (78!BC) [13:16:56:968]: Closing MSIHANDLE (4) of type 790541 for thread 2748
MSI (s) (78:C4) [13:16:56:968]: Closing MSIHANDLE (3) of type 790542 for thread 3408
Action ended 13:16:56: ISChainPackagePrepare. Return value 3.
Action ended 13:16:56: INSTALL. Return value 3.
[/code]
Any help would be appreciated.
During the installation, it jumps to the setup error screen, saying that the product was not installed. I think this is the relevant area of the log file:
[code]
MSI (s) (78:50) [13:16:56:734]: Doing action: ISChainPackagePrepare
Action 13:16:56: ISChainPackagePrepare.
Action start 13:16:56: ISChainPackagePrepare.
MSI (s) (78:50) [13:16:56:765]: Creating MSIHANDLE (3) of type 790542 for thread 3408
MSI (s) (78:C4) [13:16:56:765]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3FDC.tmp, Entrypoint: ISChainPackages
MSI (s) (78:0C) [13:16:56:765]: Generating random cookie.
MSI (s) (78:0C) [13:16:56:781]: Created Custom Action Server with PID 3040 (0xBE0).
MSI (s) (78:54) [13:16:56:843]: Running as a service.
MSI (s) (78:54) [13:16:56:859]: Hello, I'm your 32bit Impersonated custom action server.
MSI (s) (78!BC) [13:16:56:968]: Creating MSIHANDLE (4) of type 790541 for thread 2748
MSI (s) (78!BC) [13:16:56:968]: Note: 1: 2205 2: 3: ISChainPackage
MSI (s) (78!BC) [13:16:56:968]: Note: 1: 2228 2: 3: ISChainPackage 4: SELECT * FROM `ISChainPackage` ORDER BY `Order`
MSI (s) (78!BC) [13:16:56:968]: Closing MSIHANDLE (4) of type 790541 for thread 2748
MSI (s) (78:C4) [13:16:56:968]: Closing MSIHANDLE (3) of type 790542 for thread 3408
Action ended 13:16:56: ISChainPackagePrepare. Return value 3.
Action ended 13:16:56: INSTALL. Return value 3.
[/code]
Any help would be appreciated.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 19, 2009
10:03 AM
The 2205 note indicates the ISChainPackage table is missing; this results in the failure of the ISChainPackagePrepare action. I'm suprised that you would have this action without any entries in the table; have you used any release flags to exclude your chained packages?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 19, 2009
10:21 AM
No release flags. If I go to the Direct Editor in Installshield and scroll down to ISChainPackage, the entry is present.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 19, 2009
10:22 AM
I'm assuming you mean in your project file; have you checked in the built .msi file?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 19, 2009
10:29 AM
OK, I ran the .exe and grabbed the extracted .msi from %temp%.
Using the tool mentioned here: http://www.testingreflections.com/node/view/5160 (I assume this tool is acceptable), the ISChainPackage table does not appear. However, the ISChainPackageData and MsiEmbeddedChainer tables are present.
Using the tool mentioned here: http://www.testingreflections.com/node/view/5160 (I assume this tool is acceptable), the ISChainPackage table does not appear. However, the ISChainPackageData and MsiEmbeddedChainer tables are present.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 19, 2009
12:07 PM
OK, I ran the .exe and grabbed the extracted .msi from %temp%.
The ISChainPackage table does not show up in the tool mentioned here: http://www.testingreflections.com/node/view/5160 (I assume this tool is acceptable). However, the ISChainPackageData and MsiEmbeddedChainer tables are present.
The ISChainPackage table does not show up in the tool mentioned here: http://www.testingreflections.com/node/view/5160 (I assume this tool is acceptable). However, the ISChainPackageData and MsiEmbeddedChainer tables are present.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 19, 2009
03:13 PM
Apparently this is happening because I left the Product Code blank.
I use the automation interface to build both packages, placing the correct .msi in place for the .exe build. Is there a way to determine the chained MSI's Product Code at build time? I am currently using sed to substitute it into the xml, but it's not pretty.
I use the automation interface to build both packages, placing the correct .msi in place for the .exe build. Is there a way to determine the chained MSI's Product Code at build time? I am currently using sed to substitute it into the xml, but it's not pretty.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 20, 2009
11:58 AM
No; unfortunately at build time we do not necessarily know where the MSI is, so we cannot read it. (Consider the case where you say to find it on the DISK1 folder, but don't actually place it there until you create your CD layout.) As hacks go, sed sounds like an okay choice.
On the other hand, it really sounds like we should catch this case and throw a build warning/error - thanks for tracking down the root cause. I've logged this under IOA-000048942 so we can fix it in the future.
On the other hand, it really sounds like we should catch this case and throw a build warning/error - thanks for tracking down the root cause. I've logged this under IOA-000048942 so we can fix it in the future.