I've been working with a particular .msi (AppleApplicationSupport.msi). I have installed it two different ways which I thought would be equivalent. However the results differ as follows.
PSEXEC -i -s cmd
Installing using a psexec -i -s cmd command prompt and running msiexec /i AppleApplicationSupport.msi results in the outcome I want:
- "Apple Application Support (32-bit)" shows up in "Add or Remove Programs"
- "Apple Application Support (32-bit)" can be uninstalled
MSI Deployment Type Installed by SCCM Client
Creating an MSI Deployment Type and installing it using the SCCM client yields the following results:
- nothing shows up in "Add or Remove Programs"
- SCCM does not detect that it has installed
- "Apple Application Support (32-bit)" app can be found using
gwmi -Class Win32_Product, however, running$app.Uninstall()does not uninstall it.
What is the difference?
I thought that an MSI Deployment Type installed for a system was equivalent to running msiexec from a psexec -i -s cmd command line. Evidently, they are not the same.
What, exactly, is the SCCM client doing when it installs an MSI Technology deployment type for a system? Can I replicate that operation without SCCM involvement?
Is the SCCM client's execution of a Script Installer deployment type's installer really equivalent to a call to
msiexecfrompsexec -i -s cmd? In other words, for script installer deployment types should I expect parity betweenmsiexecrun by the SCCM client andmsiexecrun frompsexec -i -s cmd?
Added after kce's answer:
- How does SCCM manage to install the .msi without it showing up in "Add or Remove Programs"?