Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

SCCM has built in reports that a Project Manager that I am working with is requesting that shows if a certain program has installed successfully or not. He mentioned that even if the report shows that the program installed successfully, it has been his experience with SCCM that many times this is not true and now he is requesting a custom made report that will actually check to see if the program is really installed or not. I just wanted to ask why would SCCM report the program installed successfully, if in fact it did not? This program was deployed using the old SMS Installer by the way and there are no MIF files used. Also, would it behoove me to use MIF files? I have never used a MIF file before and I have heard that they are not necessary in SCCM like they were in SMS. Does SCCM just report success or failure depending on what gets logged into the Execmgr.log file? I have also heard that I can somehow return an exit code to SCCM in a script or something, but I am unclear how I can go about doing this. Anyway, if someone can help me gain some more insight and clarification, that would be great.

Thanks everyone.

share|improve this question
1  
Which version of SCCM are you running? You can create custom reports using the Software Inventory, which can inventory specific files (something.exe, *.exe, etc), you may also use the Windows Installer database inventory from clients. –  jscott Nov 30 '12 at 2:17

2 Answers 2

up vote 3 down vote accepted

SCCM is only as smart as the return code of the installer. Most installers are pretty dumb, one way or another. I've had plenty of installers that will exit with return code 0 (success) no matter what happened during the install. I've even seen installers that present an error message but don't return any code.

I can nearly guarantee you this has been your project manager's experience as well. It's been a frustration of mine in the past, that you can't define success for an installation, it's only the return code.

share|improve this answer
1  
So I shouldnt rely then completely on what SCCM is reporting regarding successes and failures since the program may not report to SCCM the correct exit code, therefore, giving a false positive or false negative depending. Should I just create a custom report then that will confirm if the program is actually installed by having it search Add/Remove Programs? Thanks Chris –  The_Ratzenator Nov 30 '12 at 19:41
    
Ideally, you would test installers to see what their behavior is. If it's incorrect, write a wrapper script that tests the status of the install after the normal installer has run and report a useful exit code to SCCM. Then you can rely on reports and normal deployment techniques. The alternative is to write custom reports based on custom information gathering jobs, write custom deployment jobs to ensure things get installed without blindly assuming anything... basically work around SCCM in most ways. –  Chris S Nov 30 '12 at 20:22
    
I see. We still use SMS Installer in our environment for packaging some installs and it has an automatic MIF creator that I can use to report back exit codes to SCCM. I think I will go this route when a wonky program isnt reporting to SCCM correctly during testing. Thanks Chris. –  The_Ratzenator Nov 30 '12 at 22:08

In addition to Chris's answer, don't forget you can use Desired Configuration Management (DCM) to create a configuration item that can determine if a configuration is truly correct.

For example, if you want to make sure a particular application is installed, you could check for the presence of the exe and a couple of reg keys. Granted that won't tell you if it actually runs but it's a step in the right direction, and for Chris' initial example of dumb installers this may help defeat those. CI's allow more flexibility than the checking of an exit code (maybe in sccm 2017 we'll get to attach a CI to an advertisement, but who knows).

You lump these individual 'configuration items' into a group called a 'configuration baseline', and deploy the baseline to the desired collection. You can then run reports on compliant and non compliant computers and see just where the problems lie. Helpdesk staff can also check compliance while connected to a workstation as well, at a glance.

enter image description here

share|improve this answer
    
Great! Thanks man –  The_Ratzenator Jun 19 '13 at 23:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.