Skip to main content

Posts

Showing posts with the label Installation

Remove previous versions using MSI Upgrade Table

There are several methods to uninstall the existing older versions of an application e.g. Script, MSI upgrade table, SCCM deployment conditions. We are here discussing the method using Upgrade table. Upgrade table can be used effectively to detect and uninstall the previous versions of a MSI based application provided the upgrade code is known. Here is an example on populating Upgrade Table: Locate the U pgradeCode in Property Manager . Remember this could either be same or different in previous version and if it is different then grab the code from previous version. Go to the Upgrade Table in Direct Editor . Copy the upgrade code to its column. Populate the Version columns based on requirement (consider all the digits as per previous MSI versions). Attribute column needs to be configured with appropriate bit flag for corresponding upgrade behavior. Refer to  Upgrade Table  to calculate the proper bit flag. In example, 768 is the sum of 256+512 which m...

A trust certificate import prompt after upgrade to new version of Acrobat

Issue: After upgrade to new version, a trust certificate import prompt comes up as older version of Acrobat had Trusted Certificates recorded over time. Analysis: The Certificates are saved in user profiles at this location: %appdata%\ Adobe\Acrobat\ <version> \Security\addressbook.acrodata If the file is copied to new version Security folder for each users then it will not prompt for import, and all the Trust Certificates will be imported to new version. Solution: Create a custom VBScript to copy addressbook.acrodata from older versions to new version for each users (e.g. upgrading from versions 9.0/10.0 to 11.0) for Win7 Add it to Execute Immediate Installation Sequence after InstallFinalize Copy_Trust_Cert.vbs Script: dim arcfolder, arc10folder, arc9folder Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("C:\Users") Set colSubfolders = objFolder.Subfolders ...

Active Setup for MSI with no Entry Points

Active setup provides a solution when the aim is to deliver user based components when no advertised entry points exist in an MSI package. Most packages will contain some kind on entry point; commonly an advertised shortcut. When launching this kind of shortcut Windows Installer will check the keypath of the component the shortcut belongs to and verifies that the component is installed. If it is found to be missing Windows Install will kick off a repair. This provides a great solution for installing current user data when the package is not installed in the user context. It is also a very good reason why you should never mix machine and user data in the same feature. So what do you do if there are no shortcuts to advertise? Active Setup will solve the problem. An MSI package has been created to install an Outlook plug-in. This package installs both user and machine data. User preferences are stored as a combination of HKCU registry and a XML file written to %USERPROFILE%. As t...

Why Windows Installer May Require so much Disk Space

Windows Installer is an engine for performing transactional installations. When installing a product for the fist time, most often few or no files to be installed are already present on the machine. But when upgrading or patching a product, most often those files are replaced so copies must be kept if an error occurs and the installation needs to roll back. The following describes where and why Windows Installer may require so much disk space. Extracted files A bootstrap application may be required for a number of reasons. A bootstrap application may compressed setup files into the bootstrap application, or they might all be included in a self-extracting archive. Bootstrap applications may also download files from a web site either directly to a location on disk or indirectly to the Internet files cache. This location is typically under %TEMP%. If the extractor did not delete these files, you can delete these files after installation has completed. Note that some installers m...