Consumer Central is a resource for software users to find solutions to common installation problems. Flexera Software, the makers of InstallShield, does not build the. What causes an MSI update to not update a component in an installer? Install shield Professional 2015. InstallShield is a leading windows installation development solution, enabling more collaborative and flexible application development. Home » Create a Minor Upgrade for an application using InstallShield. Create a Minor Upgrade for an application using InstallShield. InstallShield & MSI. Our QA department has found an interesting bug involving DirectX9 and Installshield MSI upgrades. Take a freshly imaged Win98 - WinME computer and install DirectX9. Open topic with navigation. Major Upgrade Item: Common Tab. InstallShield 2015 » Upgrades View » Major Upgrade Item. Project: This information applies to the. InstallShield Upgrade Strategy. Upgrade Code – MSI Property holds GUID of. Is there a setting in InstallShield or MSI to always install new files and.
Open topic with navigation. Minor Upgrade/Small Update Item Settings. InstallShield 2015 » Upgrades View » Minor Upgrade Item. Project: This information applies to.
How to Use Upgrade Table in InstallShield Adminstudio. - If I want to use upgrade table for above. We're talking about a vendor MSI (created with Installshield).
Q& A: How to Use Upgrade Table in Install. Shield Adminstudio. Hi all, this might be the basic question for the well experiensed people out here, but as a biginer I read some articles which didn't clarify exactly how to deal with the upgrades of the applications in realtime by using Install. Shield?? here are my doubts regarding Major Upgrades only- I am gng to upgrade an application from the version 1 to 2, so If I copy the upgrade code of Version 1 and paste it in the the place of upgrade code property value in the Version 2 will that do the uninstalltion of Version 1 and installls the new version 2?- If I want to use upgrade table for above upgradation how can find the version min, version max, Action Property to paste ?? If I fill up all the fields is that gng to upgrade my app from Ver. In other case If I am gng to upgrade to Version 5, some users have Version 1, some Ver 2, some Ver. Ver 4 like that. so in this case in upgrade table do I need to open each and every version and note down all the info needed like upgrade code, ver min, ver max and ..
Upgrade Table like each row for each version (Version 1, 2, 3 and 4) by using the respective values?? If I do that will it check all before versions and uninstalls them if present??- As of now instead of using the upgrade table I am jus using the batch and VBscripts to uninstall the old versions before the installation beginns like everybody knows (msiexec /x{Product GUID}/ for some apps by rinning the uninst.
Program Files\APPNAME folder).. I am using Install. Shield 2. 01. 2 and Admin. Sudio 1. 1Any help would be thankful, if any body made videos regarding the upgradations please share with us.
Install. Shield Upgrade Strategy | Install. Shield Tips and Techniques Quite a concern with customers is what strategy should they follow when delivering future updates to their application.
The confusion as to what to delivery (Small Updates, Minor Updates, Major Upgrades, Patches) leaves the customer paralyzed with indecision. Couple that with having a part- time Install. Shield developer (or consultant), and you will need to evaluate a strategy that blends reliability with ease in creating and QA testing an upgrade.
In this post, I would like to outline a roadmap for your Upgrade Strategy, giving both Pros and Cons as well as realistic guidance that experience has provided. Packaging Options. First, let’s discuss the various packaging options that are available to you. Each upgrade can be packaged for delivery as a full MSI installation which can offer existing clients a method to deliver just the updated files, or a full replacement of the original package. The advantage of creating a full MSI installation is that it can be delivered to new customers and they will be able to install and configure as easily as the original installation. An upgrade can be packaged as a Windows Installer patch file that offers existing customers a smaller footprint, and will apply binary file differences that will upgrade a file from the previous version to the newer version.
The effort to create this is relatively simple, but must be tested as much as a full upgrade package. In addition it can only deliver updates to existing customers after a full installation – a new customer cannot install a Patch package and have a working program.
Windows Installer GUID Codes. The GUID Codes associated with each Install. Shield package play a major role in how Windows Installer determines whether the package being installed is considered a new installation, or an update that is being handled as a Major or Minor upgrade. Package Code – must change for each build.
Pretty much ignored for your requirements. Product Version – MSI Property – Only 1st three fields used by Windows Installer for version comparisons (Build # ignored). Product Code– MSI Property – GUID of product. If two packages with same name have different Product. Code’s, MSI treats both packages as different! Upgrade Code – MSI Property holds GUID of family of products – used for patching purposes.
Essentially never change for life of application! Here is a matrix that graphically displays when each GUID should be changed. Now, let’s discuss the various vehicles that Install. Shield provides to deliver updates to your customer.
Small Update. This type of update is characterized by just some simple product changes – so small in scope that you don’t alter the Product Version number. Some requirements you must adhere to when preparing the installation to be delivered as a Small Update. Can add a new component to an existing feature.
Can add a new component to a new feature. Can add new sub- feature with new components.
Cannot change MSI Package name. Cannot move or delete a feature. Cannot move/delete component. Cannot change Component GUID. Cannot change the Key file of a component.
In practice, delivering a new full MSI Package without changing the Product Version ensures you will have no means to track which customer has received this package. Granted the Package Code will always be regenerated, but that is not easy for the customer to determine. Realistically this might be a method to rebuild the package while it’s in the QA stages – I just don’t see a practical use for delivery to customers. Minor Upgrade. This is the typical solution that most developers deliver to their customer base.
Characterized by a full rebuild of the package with the Product Version changing (goes from version 2. When the new customer receives this package, a full installation will occur with all of the User Dialogs presented with version 2.
When an existing customer (v. Do you want to upgrade the application? Y/N) – and then they would just see the progress bar as the updated binaries are applied.
Note that no User Dialogs will appear, the same destination drive/directory are maintained, plus any features selected within original installation are preserved with no ability to change. A patch can be created that provides a method to deliver the Minor Update changes in a smaller footprint versus delivering a full MSI package. Note that it is critical that you have followed “Best Practices” when creating the components – and key files are set for all versioned binary files.
If you keep all of the non- versioned files in a component, it would be recommended that you select a versioned file as the Key file of the component. Some requirements you must adhere to when preparing the installation to be delivered as a Minor Upgrade. Can add a new component to an existing feature. Can add a new component to a new feature.
Can add new sub- feature with new components. Cannot change MSI Package name. Cannot move or delete a feature. Cannot move/delete component.
Cannot change Component GUID. Cannot change the Key file of a component. Major Upgrade. This is the method by which developers introduce a significant change to the application, which would require the user to completely uninstall the original application and then the new application is installed. With the authoring of a Major Upgrade entry, this process is accomplished seamlessly when the new installation is executed by an existing customer.
Most importantly, you decide when a new release qualifies as a Major Upgrade, for example version 2. Major Upgrade, especially if a new feature is introduced and you want the customer to be able to choose it during installation. Some requirements you must adhere to when preparing the installation to be delivered as a Major Upgrade. Can add a new component to an existing feature.
Can add a new component to a new feature. Can add new sub- feature with new components. Can change MSI Package name. Can move or delete a feature. Can move/delete component. Can change Component GUID.
Can change the Key file of a component. As you can see, it’s pretty flexible since the original installation is being removed you have free rein in doing anything you want with Features and Components. You can specify the behavior of how the Major Update is applied, you have the following choices. Completely remove the original application, registry entries, and files, then install the new application. Note that none of the original files are preserved or backed up during the process. Overwrite the original application, then weed out obsolete files as necessary. Realistically, I always choose option #1, because it offers the customer the flexibility of choosing a different drive and destination folder.
Considerations. Here are the Pros and Cons that I am aware of with each upgrade approach ( I am ignoring Small Updates completely). Minor Update. Pros. Works consistently when a versioned binary files has newer version number (matches Install. Shield product version).
Allows you to create small “Patches/Updates” from this new MSI package. Process is typically “built” into an installation, requiring overt entries to the Upgrade table. Accomplished simply by altering the Version number. Can use Patch process to deliver changes in a smaller footprint. No user dialogs presented, so customer has to live with the original drive and directory. If package delivers a registry entry, which is modified by Install. Script Custom Actions – or during the user dialogs, this may not be done during Minor Update, consequently you might have empty variables in the registry after the update.
Modifying the REINSTALLMODE properties can prevent the registry from being rewritten. Creating a new Custom Action that runs with Condition=Installed will also work towards resolving this issue. Application files that are configured by the customer during application execution should be preserved – but you have to watch to ensure they are not overwritten by the template within the CAB files.
Sometimes a Install. Script Custom Action that preserves the user configuration files before the Upgrade process and then another to restore it after the Upgrade process is necessary. Delivering new non- versioned files (XML, INI, CFG, etc) may not be delivered consistently (Refer to link regarding File Versioning rules). Only alternative to ensure new non- versioned files are consistently delivered are to modify the REINSTALLMODE properties to force all files to be delivered (overkill at best), or create an Install.
Script Custom Action before the update step to delete the critical non- versioned files to ensure that they are always delivered. Cannot make significant changes to organization of the package (for example, restructure the Features). Major Update. Pros. Allows unlimited reorganization of Features and Components – essentially a vastly different package than the original one.
Allows you the ability to wipe out troublesome packages that were originally delivered that are not easy to properly apply updates to. Full user dialogs presented, allows existing customers to choose different Features, specify a different drive or destination folder. Removes existing product silently at beginning. To denote a Major Update, you must.
Regenerate the Product Code GUID. Change the Version Number. Author a Major Upgrade entry in the Updates table. Custom Action during uninstall of Original Product, use condition “Remove=”ALL” not “UPGRADINGPRODUCTCODE”.
To run a Custom Action during upgrade, use condition “UPGRADINGPRODUCTCODE. Must be mindful that the uninstall may not completely remove all or the original installation, which could pose problems for the new installatino. Recommendations. These recommendations are based on years of providing consulting services to small development shops that don’t have a Full Time Dedicated Install. Shield Developer. Consequently, your upgrade strategy should focus on creating Upgrade packages that are.