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
msiexec
frompsexec -i -s cmd
? In other words, for script installer deployment types should I expect parity betweenmsiexec
run by the SCCM client andmsiexec
run 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"?