Note: There are some known problems with this approach. If it is not done properly your installation may fail.
MSI packages rely on the MSIExec.exe file located on client machines. While Windows Installer is a great technology, it can't be distributed using the standard software distribution approach. SMS clients close their connection to the SMS package share when MSIExec.exe begins to execute. MSIExec may not be able to find the .msi file on the package share because the connection is closed. You can get more information about the MSI distribution issue by selecting the link.
The syntax for installing MSI packages looks like this: MSIEXEC /I <path>\filename.msi /<switches>.
There are some workarounds for this issue. They are not all available to Win 9x machines because of the limitation of that operating system to have mapped drives deeper than one share level.
Mapped Drives (NT/2000/XP only) - If a drive is mapped directly to the <SMS Package Share>\<packageID> directory. This can be done with a wrapper script or by having all machines mapped using login scripting or through manual means.
UNC Paths - This is the only option for Windows 9x machines. The UNC path can be entered in the SMS advertised program properties. Otherwise, it can be used in a wrapper script.
What's the Big Deal?
Why not just add the path in the advertised Program properties? Why fool around with scripting a wrapper? Take a look at the math:
If I must distribute a MSI package to 40 child sites, this issue would require 40 advertised programs to be created. I would rather script a wrapper that allows me to create 1 advertised program. The script could be used again when another MSI package needs to be distributed. Again I would not have to create the 40 programs for that distribution.