10/31/2011 5571 views
I'm trying to figure out what is going on with an SCCM push of this update. It has been successful to several thousand machines but I keep getting failures on the rest of them (about 1100). The collection is based upon a query that is returning me any version less than this one, and the query is working fine.

The failed machines are a mixture of Windows XP Pro SP3 (32bit) and Windows 7 (32bit). There MAY be a couple of windows 7 (64bit) machines.Last Status Message ID is 10003 and Last Status Message Name is "Failed (bad environment)".

My script is simple for this, since I don't care if the 64 bit machines fail. All I am sending is the 32bit patch.

MSIEXEC.EXE /p "%~dp0Updates_X86\4.0.7577.314\Lync.msp" /qn

Status message details are "An error occurred while preparing to run the program for advertisement "UKH2010F" ("UKH000CE" - "Lync Updates"). The operating system reported error -2147024894: The system cannot find the file specified. Additional program properties: Command line: Updates.bat Working directory: Drive letter (? = any): Possible cause: This message most commonly occurs when the program's command-line executable file could not be found, when a required drive letter connection to a distribution point could not be established, or when the program is configured to use the SMS Software Installation Account but the account is not specified, could not be found, or does not have the appropriate permissions. Solution: Check each of the items listed above. "

I've verified the following:
MSIEXEC.EXE in in the system32 folder and is in the path.
There is no required drive letter for this package
The SMS account is functioning properly and has appropriate permissions.
Answer Summary:
0 Comments   [ + ] Show comments


Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

All Answers

That error generally means SCCM can't find the executable you're trying to execute like you said. I just found this out today by accidentally pointing a Program in a package to an EXE that didn't exist in the Source folder.

If you are using a batch file (Updates.bat) to do this it adds another layer of complexity. I would take the whole thing out of the batch file and just run the msiexec as your Program.

I always place %SYSTEMROOT%\System32\ in front of MSIEXEC.EXE which will work for your 32-bit systems. Your program should look like this:

Command line: %SYSTEMROOT%\System32\MSIEXEC.EXE Updates_X86\4.0.7577.314\Lync.msp /qn
Start in: [leave blank]

If your Updates_X86\4.0.7577.314 folder is in your Source folder, you don't need to fully path it with the %~dp0 since it automatically starts in the Source folder.
Answered 12/13/2011 by: DeQuosaek
Senior Yellow Belt