1 of 1 people found this helpful
The way that I got around that was to make a change in the Office 2007 setup customization file that I used to set the install settings. You basically add and entry under "Modify Setup properties". The property name you add is REBOOT and the value is ReallySuppress.
That should do it.
Just got finished up with testing that, it did prevent the reboot, but I still get the "Failed" message in the Policy based deployment window. looking at the log, it still generates the following information:
Fri, 25 Jan 2008 14:35:38 Installation result 80070BC2
Fri, 25 Jan 2008 14:35:39 processing of package is complete, result -2147021886 (0x80070bc2 - code 3010)
A reboot is required to complete the install. This does not include installs where the ForceReboot action is run. This error code not available on Windows Installer version 1.0.
Does anyone have a way around this? My users will freak out, they are going to anyway with all the changes. This is not really a failure code, just saying we need a reboot.
Now that you mention that, I did see the same thing when I was distributing Office 2007 directly from the distribution package in LANDesk. What I ended up doing was to create a Wise Script (a batch file/VB Script would probably do as well) that starts the install. That way the "reboot required" exit code is not passed to LANDesk but would stay in script and what woud be passed back to LANDesk is the exit code from the script.
Hope that helps.
I never understood why they interpreted 3010 as failed. I believe in 8.8 you can turn off the policy error/success display to the user. Anywho, you can mask the error with vbscript, cmd, autoit, PackageBuilder. The only issue with this (using wrappers) is that true errors will be masked. This may or may not be important in your shop. In Autoit script we return the program exit code to a var. We then compare the var against exit codes like 3010, and if it is 3010 we exit with 0. If not then we just exit with the return code stored in the var.
Anywho, you can mask the error with vbscript, cmd, autoit, PackageBuilder. The only issue with this (using wrappers) is that true errors will be masked.
That actually is not the case with batch files. I don't know about other wrappers zman mentioned.. You can allow the true errors through and only allow 3010 and 0 to be successful.
Actually 3010 is that weird error message that is difficult to handle. Only zero is a success code with most "standards". So if 3010 is returned, how can we say it is a success? Basically LANDesk has chosen not to do so.
Of course while 3010 says a reboot may be needed and half the time the software works before the reboot occurs so maybe you don't want to reboot but you want to have both 3010 and 0 be successful. If that is the case, use a never reboot delivery method and this batch file:
REM My batch Setup.exe <your switches> IF ERRORLEVEL==3010 EXIT /B 0 REM The next line is not needed but added for clarity. EXIT /B %ERRORLEVEL%
See the installation occurs. If 3010 is returned as %ERRORLEVEL, and the batch file exits with a 0 success code. If any other result is returned, the batch file ends with that result.
If you want to reboot when 3010 occurs, use a delivery method that allows a reboot and do this:
REM My batch Setup.exe <your switches> IF ERRORLEVEL==3010 GOTO reboot GOTO exit :reboot REM Make sure the delivery method allows for a reboot sdclient.exe /reboot :exit EXIT /B %ERRORLEVEL%
Ok, so if I use a batch file, I bypass the msi control of LANDesk. Doesn't cause issues if I have to uninstall this package? Are there going to be any side affects? As a side note you can also get a 1641 error if the reboot is forced.
The installer has started a reboot. This error code not available on Windows Installer version 1.0.
What about having multiple sites? Do I need to hardcode the UNC path for the setup?
The wrappers I was referencing are what we call "blind" wrappers. Basically they just run the command (e.g., Package Builder RunatExit) and hope it installs and the main exe always returns a success.
I indicated "In Autoit script we return the program exit code to a var. We then compare the var against exit codes like 3010, and if it is 3010 we exit with 0. If not then we just exit with the return code stored in the var. " Basically what you have in your post but your is much more detailed and specific
cbass, should not matter if it was installed via a spawned process from a batch file, exe, script. You should be good to go. Just suppress the reboot. As far as different locations (share names). If you can try and use DFS.
LANDesk really only does one special thing when you use an MSI Distribution Package. I haven't broken it down in a long time but here is what I remember. You may want to check these registry keys after an install.
It adds an alternate source for the distribution package. It only matters if you are downloading Office to SDMCache (Using a Delivery Method with Download from source. If you are using a Delivery Method with Run from source, it really isn't necessary.
So in a batch file distribution package you may loose this but it is not a big deal. You can either:
Add the key yourself
Create an Uninstall Distribution package that works.
There is another key with such information here but I cannot remember if we modify it or not.