Just a few benefits:
- Can be advertised (so that on demand installation could take place).
- Like advertisement, features can be installed as soon as the user tries to use them.
- State management is maintained so Windows Installer provides a way to let administrators see if an application is installed on a machine.
- Ability to roll back if an installation fails.
I think to when I'm deploying software in an enterprise setting: deploying software via MSI is almost enjoyable. In contrast, I almost always find myself dreading deploying software when it's in another container.
For some additional info on manipulating MSI installations, type msiexec
into the Run dialog.
Associating the files with patches.
The "WINDOWS\Installer\
" folder has several key
sub-folders.
You can search for the sub-folder name (without the braces {}
) in the registry.
The key can be searched within the "HKLM\SOFTWARE\
" tree
to get the Software association.
The key would be placed in the Installer
sub-tree on the name ENU_GUID
.
Similarly, in the registry path "HKEY_CLASSES_ROOT\Installer\Products\
",
The key will usually match in a subtree against the "ProductIcon
" name.
There will be a "ProductName
" field next to it that will give you an association.
This search should be script-able with a dir WINDOWS\Installer /d
output
stored to a text file that is processed with a registry search.
The .MSP
files have a level of indirection in the registry.
You should search for the MSP name first in,
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\
That will give you a Patch number (the sub-tree name string) which is to be then searched again in the same path as above. The associated registry sub-tree will give you details for the patch.
Meanwhile, the mouse-over context in my Windows XP explorer also gives basic information on the patch. Have you checked that already?
Older data:
Use msizap to remove orphaned cached Windows Installer Data Files to increase free disk space.
Msizap is a command-line tool that can delete the configuration data that Windows Installer maintains for products that it installs, including the directories, files, registry subkeys, and registry entries in which Windows Installer stores configuration data.
Running msizap.exe with the G
parameter removes orphaned cached Windows Installer data files for all users
The article discusses up to Windows Server 2003.
Update: This Microsoft KB description also limits at Server 2003.
It should work for Server 2008, or there would be another version for it.
The article describes existence of two versions.
There are two versions of MSIZAP.EXE:
MsiZapA.exe (for use in Windows 95, Windows 98 and Windows ME), and
MsiZapU.exe (for use in Windows NT, Windows 2000, Windows XP, and Windows Server 2003). The appropriate executable should be renamed MsiZap.exe.
Download references -- in case that link goes dead.
Msizap can be downloaded as a part of the Microsoft Windows Server 2003 Support Tools or the Windows Installer CleanUp Utility (EXE). I was unable to find the Windows Installer CleanUp Utility by searching Microsoft’s download site, so note that as of today the file’s name is msicuu2.exe if you the above link goes dead in the future.
If you don’t want to install the Windows Installer CleanUp Utility, use a program such as Universal Extractor (aka UniExtract) to extract the individual files. Once you extract the files, you’ll notice msizap.exe does not exist, but you will find MsiZapA.exe and MsiZapU.exe.
Best Answer
Summary
General Disk Space Tips:
Original & Long Answer
Microsoft's piece on space reclamation: Free up drive space in Windows 10
Many further options below. Just the 5-minute emergency procedure I use myself (trivial options).
And obviously empty the recycle bin :-). Also quick to uninstall large, unused software packages.
And check root of C:\ for virtuals and similar uses. Most large files should be in profile hierarchy though.
Reclaim Disc Space - The Pragmatic Options
Recommended real-world quick-options for disc space reclamation:
General:
Removables & Disc Space Visualization
.low-profile USB drive
and / orSD-Card
to your laptop for "permanent", extra storage to move large files to. Generally not high-speed, use accordingly. Note! I find low-profile USB drives may run a bit hot under load. Not for heavy, continuous use IMHO.Find Space Hogs
: https://en.wikipedia.org/wiki/WinDirStat. Visualization tool for disc space consumption. May run slowly on non-SSD disks. Shows what eats your disc.Option 0:
Clouding
. Obviously.OneDrive
,Dropbox
,Google Drive
, etc...Option 2:
Microsoft's Disk Cleanup Tool
. Purge Windows Update files & more.cleanmgr.exe
and press Enter.Clean up System Files
then select system drive and press OK.And one more update:
Downloads
folder (all users).Right Click Folder => Properties => Location
.Compression
(selective folders?). In Folder Properties. May be ultra slow for old disks.Uninstall unnecessary software
. Runappwiz.cpl
from Windows Key + Tap RHigh risk option: Delete outdated and obsolete recovery partition(s) and create a usable partition in its place to keep data on.
Very effective when combined with options
1 (My Documents)
&7 (Downloads)
&11 (Data Heavy Applications)
, etc... Can end in disaster if wrong partition is deleted - of course.To succeed deleting recovery partitions either
diskpart
(Windows) orgparted
(Linux) is likely needed (see "Alternative Approaches" in linked SO answer
).Not for the faint of heart or inexperienced
. Backup is essential!Runners-Up:
Option 4: Administrative Installation
is presented below. Maybe also checkOption 3: (CCleaner)
(not without risk). And a final mention: you can turn off system restore as well (particularly for virtuals). Not listed in linked answer (max lenght).Scavenging / Putting WinSxS on a Diet
The WinSxS folder - Win32 side-by-side assembly store is full of hard links (several shortcuts to the same "physical" file) and often obsolete versions that can never be used (superseded by policy and updates). You can run "Scavenging" - garbage collection for side-by-side Win32 assemblies.
"Find actual size" command that is available since Win 8.1 (from elevated command prompt):
This goes beyond all the hard links in there and finds the actual size of the WinSxS folder - and whether it should be cleaned up.
Run "Scavenging" (from elevated command prompt):
Microsoft's Disk Cleanup Tool:
cleanmgr.exe
seems to kick off "scavenging" sometimes. And there is a scheduled task (Win8 up) - kicking off cleanup. Slightly different from running the command. 30 days grace period before purging, and some timeout issues (ends after 1 hour, regardless).Superuser: Why does the /winsxs folder grow so large, and can it be made smaller?
Administrative Installation
You can't safely delete these files, they are there to facilitate uninstall, modify and repair operations for the installed product. You can, however, greatly reduce the size of the cached MSI files by running an administrative installation (essentially a file extraction) of the MSI before installing it. Follow link above for description - you should put these extracted files on a network share.
The cached MSI files used to be small because they were stripped of their internal CAB files. However, starting with Windows 7 (MSI version 5) the MSI files are now cached full size to avoid breaking the file signature that affects the UAC prompt on setup launch (a known Vista problem). This may cause a tremendous increase in disk space consumption (several gigabytes for some systems).
Running admin install will extract the files from the CAB files embedded in the MSI, adjust the media layout in the Media table in the new MSI so that running it will use the extracted, external source files instead of internal CABs. The new and smaller MSI file used for installation is then cached on the system. This can save several gigabytes of disk space, depending on what installers you use, how many you have to install, how big they are, etc... Keep in mind that you must deal with the UAC prompt issue described above when using admin images since the extracted MSI is (normally) no longer signed, but from a reputable source (your own extraction).
The extracted files and the associated MSI file should be put on a network installation point along with all other installers to ensure files are available for repair operations. This is how most large corporations deal with installation anyway. Then there is no need for embedded CAB files in the cached MSI at all. SCCM and other deployment systems may also have other ways to ensure files are available for repair operations.
Some further links: