Currently, we bundle up the RegUtils.dll into the binary table. You can't compress items in the MSI binary table. So whatever the size of RegUtils.dll is, it will add to the size of the installer. RegUtils.dll is 121KB. There are other ways to call RegUtils.dll, like "installed w/the product", or "from an entry in the directory table". However, these won't work unless you call them after the InstallFinalize StandardAction is called, because the RegUtils.dll is not installed on the target system yet. So we have the following customactions that use RegUtils.dll before InstallFinalize:
IsMozillaInstalled
IsNetscapeInstalled
IsControlPanelLocked
IsJAVAJAVAWLocked.
IsIntInstall
The first 2 CA's can be replaced by using MSI's system search path. You can have the msi check the registry and set a property.
The 3rd and 4th CA's can be replaced by adding more entries to the RemoveFile table for install only. This will actually create a better user experience. They will know which programs are actually locking up their program. This will also help us remove the SystemFiles locked dialog, which reduces the msi by 3KB.
The only customaction that we need to call is IsIntInstall, which detects whether they need the "Other" feature or not. RegUtils.dll is currently 121KB. If we remove everything from RegUtils.dll except for IsIntInstall(), we are left with a RegUtils.dll of 21KB. That is a reduction of 100KB. All other RegUtils CA's can be called with installed with the product.
###@###.### 2003-11-05
IsMozillaInstalled
IsNetscapeInstalled
IsControlPanelLocked
IsJAVAJAVAWLocked.
IsIntInstall
The first 2 CA's can be replaced by using MSI's system search path. You can have the msi check the registry and set a property.
The 3rd and 4th CA's can be replaced by adding more entries to the RemoveFile table for install only. This will actually create a better user experience. They will know which programs are actually locking up their program. This will also help us remove the SystemFiles locked dialog, which reduces the msi by 3KB.
The only customaction that we need to call is IsIntInstall, which detects whether they need the "Other" feature or not. RegUtils.dll is currently 121KB. If we remove everything from RegUtils.dll except for IsIntInstall(), we are left with a RegUtils.dll of 21KB. That is a reduction of 100KB. All other RegUtils CA's can be called with installed with the product.
###@###.### 2003-11-05