Why is "Secondary Installer" not running during SCCM 2012 Deployment...
Hi all,
I guess there really isn't a good area to submit this post so I'll just go with the version of InstallShield I'm using.
Here's my scenario...
We have a 32 bit installer (.msi) that on a 64 bit system will fire off a 64 bit .exe widget stored in the binary table. This widget monitors the currently running .msi process so that, when complete, it can fire off another .msi (native 64 bit installer) that was installed with the 32 bit app.
This additional 64 bit installer was a solution cobbled together under a looming deadline to deliver pieces to native 64 bit areas of the file system and registry. All of this part of our overall install process seems to be working well.
However, we've recently been informed by some users deploying our software with SCCM 2012 that the secondary, 64 Bit installer is not running. Again, that install is kicked off by a widget that waits in the background (while allowing the initial 32 Bit install to complete) then fires off the 64 bit installer. I'm wondering if SCCM, after the parent 32 bit package finishes, kills all process launched from it, thus killing the 64 bit wait and launch widget. Hopefully, if this is the case, there might be a setting that can be tweaked in SCCM to remedy this.
I'm not versed in SCCM deployment, but I will hopefully become so soon, but does anyone have any idea what might be going on to prevent the 64 bit .msi from running?
Any information appreciated and I apologize is this is beyond the scope of this forum.
Thanks in advance!!!
I guess there really isn't a good area to submit this post so I'll just go with the version of InstallShield I'm using.
Here's my scenario...
We have a 32 bit installer (.msi) that on a 64 bit system will fire off a 64 bit .exe widget stored in the binary table. This widget monitors the currently running .msi process so that, when complete, it can fire off another .msi (native 64 bit installer) that was installed with the 32 bit app.
This additional 64 bit installer was a solution cobbled together under a looming deadline to deliver pieces to native 64 bit areas of the file system and registry. All of this part of our overall install process seems to be working well.
However, we've recently been informed by some users deploying our software with SCCM 2012 that the secondary, 64 Bit installer is not running. Again, that install is kicked off by a widget that waits in the background (while allowing the initial 32 Bit install to complete) then fires off the 64 bit installer. I'm wondering if SCCM, after the parent 32 bit package finishes, kills all process launched from it, thus killing the 64 bit wait and launch widget. Hopefully, if this is the case, there might be a setting that can be tweaked in SCCM to remedy this.
I'm not versed in SCCM deployment, but I will hopefully become so soon, but does anyone have any idea what might be going on to prevent the 64 bit .msi from running?
Any information appreciated and I apologize is this is beyond the scope of this forum.
Thanks in advance!!!
12 Comments
[ + ] Show comments
Answers (0)
Please log in to answer
Be the first to answer this question
The widget is 64 bit and we are working on getting some logs.
I'll have to check into the reboot issue with the customer.
The unfortunate thing is that we do not have an SCCM environment in house to test so my job isn't going to be easy. Stupid? Believe me, I know!! - Superfreak3 10 years ago
Here's the issue, what if SCCM is rebooting as part of its process. I'm not sure how I can control that part of things. - Superfreak3 10 years ago
I use InstallShield and I don't believe it is possible to mark a component as 64 bit when the template summary property is set for 32 bit. - Superfreak3 10 years ago
I pass this new Public Property to my Execute Deferred .exe and it seems to work great.
Now, using this as a model, I add this stuff to my 'real' installation template, compile and test - no go!!! The deferred .exe is not really getting the correct value as the Immediate Action does not seem to be getting the correct value of ReplacedInUseFiles. This would again indicate that it has not been set/detected files in use. The property is set to 1 in the verbose log.
I have no idea what is going on AGAIN! There has got to be an easier way to determine if a reboot is needed.
So, still looking for help! - Superfreak3 10 years ago
However, later in the log, it indicates that ScheduleReboot is skipped as the condition is false. The condition on my ScheduleReboot action is ISSCHEDULEREBOOT. I don't know why this isn't getting set properly to trigger the reboot. ???
My test consists of installing an earlier version, launch one of the .exe then initiate a Major Upgrade. This does see the file in use and displays the Restart Mgr dialog as mentioned. - Superfreak3 10 years ago
http://blogs.msdn.com/b/windows_installer_team/archive/2005/09/19/470980.aspx
Question
What happens if a user does not shut down the app thus the files remain in use?
Answer
A verbose log will include one or more of the errors 1603, 1732, 1902, 1903, 3010 (per Logging of Reboot Requests [Windows Installer], Windows Installer Error Messages [Windows Installer] and Error Codes [Windows Installer]). If the file isn’t hard locked, then the windows installer will move the in use file to the rollback cache and place the new file in the place of the in use file. If the move to the rollback directory is blocked (by hard locking) the PendingFileRenameOpertions hive is used. For the former case, shutting down and restarting the app is required. For the latter case, rebooting the OS is required.
I'm guessing the app file I launch to hopefully cause a reboot condition is being moved to the roll back cache.
Now to figure out how to cause a hard lock condition so I can test my changes if a reboot is really prompted. - Superfreak3 10 years ago
On several machines, I've noticed the following message on uninstalls while trying to test my other changes...
"The setup must update files or services that cannot be updated while the system is running. If you choose to continue, a reboot will be required to complete the setup."
If OK is selected, the uninstall runs to completion with no reboot.
I do see in the log that a need for reboot has been detected, but I don't see any clue as to what may be triggering this need. I search for some related error codes like 1603, 1732, 1902, 1903, 3010, but nothing. There are also no services as part of this app install/uninstall.
All of my reboot changes posted earlier are conditioned to run if Not Installed and VersionNT64 so I don't believe any of my changes are coming into play here. I even tested this by using an early backup that didn't contain any related reboot handling changes and received the same result.
I then thought that Restart Manager might be doing something 'funky'. I added MSIRESTARTMANAGERCONTROL=1 to the Property table, installed then uninstalled = NO MESSAGE!
So, it appears Restart Manager is involved. I could simply set the control property as stated above and be done with it an simply rely on the older Files In Use mechanism, but I would like to know what is causing the issue on some machines. I'm perplexed as to what Windows Installer is detecting as in on uninstall. I was hoping the log would show, but nope.
Any help appreciated!! - Superfreak3 10 years ago