Major upgrade vs Minor upgrade version Numbers - installshield

We have an application, in which we have series of releases. The current version of the application in production was V2.1
Now we have a set of new UI Screens to be added and related changes to the application. We are planning to release these changes as V3.0.
Do we need to go with Major Upgrade or Minor Upgrade? If we go with Major Upgrade, do we need to reinstall the application? or change the version to 2.2 and go with Minor Upgrade?
Please suggest me some best way to go about with these installers.
Note: We are using Install Shield Premium for building the installer.

If the only changes you are making are to the UI of your installation wizard, there is no fundamental reason to prefer either a minor or a major upgrade over the other. Typically the choice is driven by the changes you are making to the application itself, or the files that comprise it.
A Minor Upgrade will support first-time installations, as well as provide what should be a shorter update for the upgrade experience. A Major Upgrade will uninstall what's currently there before installing the new version. Either can be done with either sets of version numbers - the difference depends primarily on whether you change your ProductCode.
See Patching and Upgrades for details. Some people prefer creating Major Upgrades because they are easier to reason about.

Related

SAP: Upgrading Hybris from version 5.1.1 to 6.2

We have SAP Hybris Commerce version 5.1.1 with custom extensions installed. Now we need to upgrade it to newest version 6.2.
My question is: Can we upgrade it to 6.2 and skip all versions between 5.1 and 6.2? Or must it be done by upgrading to 5.2, then to 5.3 and so on?
Yep - 5.1.1 to 6.2 ought to work (I've been working on a project that's done exactly this).
You will probably have to make some changes - watch out for any customisations you've made - it might be worth reading through the release docs to have an idea of what's changed - off the top of my head the structure of add ons is one area that's a bit different between 5.1 and 6.2, but otherwise things should work OK in theory.
Yes you can directly update to 6.2.
It's important to regulary update your hybris version. You should not have so much gap with current version. Indeed it become tougher to migrate your custom code.
Upgrading each minor version in a row is totally useless most of the time. Only do this if you have issues you can't solve while migrating to the target version.
You should take a look at this migration documentation and this guide (it can be used even if it doesn't match your version).
Note that some stuff like promotion are totally different in hybris 6 so you can expect some trouble to migrate everything. Take care of your extensions generated with old template also.
5.5.1 introduces JDK8 and Spring 4, I would not underestimate this change! Depending on the size of your project I would first go for 5.5.1. Also notice the MySQL change for 6.2 (5.6). Don't forget to declare deployment tables in your items.xml. Search for "third-party compatibility" and "release notes" on the wiki. Also try shifting to the backoffice since the hMC is marked as deprecated.
Yes you can migrate directly 6.2.
The time and difficulty depends on your custom code (and how much it respects good practices : naming conventions, usage of service, architecture respect...etc)
You might also consider that HMC is deprecated in 6.2

IBM Domino Designer 9.0.1 Development

I have just upgraded myself to new version and started development in 9.0.1 Revision 20131022.0932 ( release 9.0.1). I have couple of small queries.
1) Am I using the right version for development or need to upgrade by implementing patches etc?. This is stable for development?
2) Previously I was developing applications on 8.5.2 but my clients were on 8.5.x and 9.x.
This migration is safe for existing applications? no crashes? no code mismatch? Is their any guideline for developer? Co-Existence of clients is possible?
Please guide me and thanks in advance
Best Regards,
Qaiser
In general, upgrading to the latest Designer version is ideal, especially with (as Per recommends) the latest fix packs, as well as on the server.
For non-XPage design elements, there should be no incompatibilities with 8.5.x through 9.0.1, so you're good there.
If you do XPages intended to be rendered by older versions (either older servers or XPiNC in older clients), you could run into trouble there, using properties and controls that don't exist there. You can mitigate that a bit by going to the app's "Xsp Properties" in Designer and changing the "Minimum Supported Release". That won't help you avoid trouble with third-party plugins not installed everywhere, but it helps with the core runtime controls.

Installshield 2010 - On upgrade check its already upgraded to certain version

I'm currently updating my installer (Basic MSI) for a program to v5.00.0000. I need InstallShield to check that if it's an upgrade, it must be on at least 4.00.0034.
So if it's not previously installed, it installs ok.
If it's on 4.00.0020, it must return a message to say please upgrade to v4.00.0034 first.
Thanks,
Ian.
Examine the ISPreventDowngrades action and the major upgrade item that finds newer versions, or read up on how to prevent downgrades. You can then copy this approach, tweaking it to instead find and error out on ones less than 4.0.34.

Msiexec: automatic rollback to previous version on installation failure

When installing a .MSI file using msiexec in silent mode, is it possible to automate it such that on installation failure it rollbacks to the previous version? Assuming that on installation an older application version is already installed.
Yes, restoring the old application version via rollback upon an installation failure is actually a built-in feature of Windows Installer, but you need to configure things correctly to get it to work as you require.
Windows Installer rollback will work as you request if you use: 1) a minor upgrade or 2) a properly sequenced major upgrade that uninstalls the older versions after successfully updating all files. If the major upgrade is set to uninstall the old version before installing the new, the rollback is not available since the uninstall is already over, and the new installer will hence leave nothing installed if it fails and rolls back.
Important: For minor upgrades and for late uninstall of old version in major upgrades to work correctly, all MSI component rules must be followed 100% accurately.
When thinking about a major upgrade that uninstalls the old version after updating, you can view it as a patching operation without having the update packaged as a patch. Windows Installer will actually run a diff on the old and new version and then implement only the required changes, leaving the rest of the application untouched. Depending on the application structure and number of files, this can be significantly faster to install as well.
Late-sequenced major upgrades are also a way to prevent configuration files from being reverted to their original installation status during upgrades. This is a classic issue where config files are changed after installation, uninstalled during a major upgrade and then being reinstalled giving the impression that they are reverted, when they are actually freshly reinstalled.
I have written about Windows Installer Rollback before. Might be worth a read.
No, this is not possible. A major upgrade uninstalls the old version before installing your new one. So when the new install fails, the old version is already removed.
There is a possibility but it involves changing the upgrade sequence which is not always an easy thing to achieve. You should move the RemoveExistingProducts after InstallExecute action
http://msdn.microsoft.com/en-us/library/windows/desktop/aa371197(v=vs.85).aspx

Create Upgrade Patch For InstallShield Installer

For our latest release, we want our customers to only download an upgrade patch of our applications and instead of uninstall and re-install all the process will be done by upgrader patch but I know nothing about this even after I googled it! Where to start guys? Note that our new release includes database upgrade as well as production code!
We are using .NET 4.0, Visual Studio 2010, C# and VB.NET in our software.
I might be a bit late to the party but hopefully this post helps anybody else who is looking for this answer.
You can use the 'Patch Design' method to create patches. You can find it in Installation Designer tab under Media.
For this you will need the latest build (msi/exe) and one or more previous build(s). In 'Patch Design' add a new patch configuration. From there you can specify latest version and previous version(s) of your setup file. If you are using Express version then you will need uncompressed build for both latest and previous. If you have Professional version then it can decompress it for you.
After this, just hit Build Patch and it will create a update.exe with only differences between latest and previous builds. It is quite smart in a way where it will only add the binary differences.
Good luck.

Resources