Can anyone identify why this script would fail to work properly?
Started: | 10/05/2016 07:49:07 |
Finished: | 10/05/2016 07:50:51 |
Elapsed Time: | 104 seconds |
Status: | 4 |
Output Log
Running as: SYSTEM Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' did not succeed: (0) Running as: SYSTEM Couldn't kill process (fail) : Outlook.exe Running as: SYSTEM Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' did not succeed: (0) Launched Process: CRM2016x86.exe Running as: SYSTEM Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' did not succeed: (0) Launched Process: SetupClient.exe Running as: SYSTEM Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' did not succeed: (0) Launched Process: Update1x86.exe Running as: SYSTEM Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' did not succeed: (0) Creating process returned non-zero: C:\Microsoft CRM Upgrade 2016 x86\Service Pack 1\CRMUpdateWrapper.exe /q: (0) The operation completed successfully. Error Code: 0 Status Code: -2
Activity Log
Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' Creating message window: Now beginning your upgrade of Microsoft CRM for Outlook 2010 x86. Please do not open Outlook. 86400 Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' Launching program: 'C:\ProgramData\Dell\KACE\kbots_cache\packages\kbots\374\CRM2016x86.exe' '/quiet /extract:"C:\Microsoft CRM Upgrade 2016 x86"' wait='true' Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' Launching program: 'C:\Microsoft CRM Upgrade 2016 x86\SetupClient.exe' '/quiet' wait='true' Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' Launching program: 'C:\ProgramData\Dell\KACE\kbots_cache\packages\kbots\374\Update1x86.exe' '/quiet /extract:"C:\Microsoft CRM Upgrade 2016 x86\Service Pack 1"' wait='true' Checking if registry 'HKLM\Software\Microsoft\Office\14.0\Outlook' value 'Bitness' is equal to 'x64' Launching program: 'C:\Microsoft CRM Upgrade 2016 x86\Service Pack 1\CRMUpdateWrapper.exe' '/q' wait='true'
-
Are you also accounting for the OS version? Paths will vary based on 32bit OS with 32bit Office, 64bit OS with 32 bit Office and 64bit OS and 64bit Office. - chucksteel 7 years ago
Answers (4)
http://www.itninja.com/question/how-can-i-use-verify-in-a-manner-similar-to-or#answer-100694
Comments:
-
By the way, on the topic of this particular question: I have verified that there is an issue with deploying this script to 32 bit Office for whatever reason. I literally dumbed the script down to just install the appropriate update files, and yet again it works on my x64 and not my x86! Crazy!
It still goes and completes the script: extracts all the files to where they need to be and yet never installs the client after that. I can literally navigate to the folder it creates, and manually install them using the exact same "/quiet" parameters, and it works fine! Can you believe that? I literally have no idea what the deal is... - JTaff 7 years ago
Comments:
-
I don't believe it's an Outlook termination issue as I have a line that kills the process, and have tried it with Outlook both open and closed. I'm interested what you mean by run it as system... I thought "local system" was the best way to run it as it would ensure all accounts would have Admin privileges to install programs? I'm working on getting a log in there that I can show you shortly. - JTaff 7 years ago
-
I have run into programs that needed a logged on user due to they used the temp folder for some of the processes and system does not have this. you can try to run it as administrator via the credentials user choice to see what that does - SMal.tmcc 7 years ago
-
system is the preferred method but some software does not like it - SMal.tmcc 7 years ago
I really only use process killers for persistent offenders, those who refuse multiple times to close down their applications. If the process won't close, then the machine gets restarted. It makes scripting somewhat more involved, of course, in that it has to count how many requests have been refused.
Previous to that drastic action, though, users get emailed with a notice that 'Application Y' is going to be upgraded on date X so they will need to log off. A series of reminders then goes out before date X. On the day, the final email outlines what's going to happen and the consequences if they fail to log off.
It's a well-proven process.
I can't imagine that using the System account would prove to be the bugbear here - it should be able to kill any process - but it'd be child's play to eliminate that possibility by creating an 'Installer' account which you would make a member of the local 'Administrators' group and then use that account.
Lastly, I'd probably build a "proper" script, in the language of your choice. That will give you much more control: from the output shown, it seems to me that the script you have is unable to act upon error conditions, blindly continuing when at least one condition (Outlook not running) is False. You'd also be able to add much finer detail in your logging.