cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sureshkottakki
Level 6

Suite Installer upgradation issue

Hi,
I created a Suite/Advanced installer, this installer contains three .exe packages. I am able to install the Suite installer perfectly, but while upgradation the packages are not getting upgraded.

Eg: For fresh installation Suite installer version is 1.0.0.0 and the three exe packages' version are 1.0.0.0 , 1.0.1.0 and 1.0.1.0. Now I changed the versions to Suite installer version to 2.0.0.0 and three exe packages to 2.0.0.0 , 2.0.0.0 , 2.0.1.0. Now I installed the suite installer(upgradation). But I could see only suite installer version got chaned from 1.0.0.0 to 2.0.0.0, but the three exe packages versions remain 1.0.0.0 , 1.0.1.0 and 1.0.1.0.

Could you please help me out how to upgrade the packages in suite installer while upgradation.

Thanks in advance
Labels (1)
0 Kudos
(30) Replies
Not applicable

If you run the 3 installers stand-alone (i.e. not from the suite) do they upgrade correctly?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

What do your detection conditions for your EXE packages look like - in particular, do they take into account any version information?

From your description, I'm guessing they do not, and thus the Suite is detecting the EXE packages as already installed, and doing nothing. You should be able to confirm this by examining a log generated by /debuglog, or by modifying your conditions.
0 Kudos
sureshkottakki
Level 6

Hi Hysteresis,
They are getting upgrade successfully if we install them stand-alone (i.e. not from the suite)
0 Kudos
sureshkottakki
Level 6

MichaelU wrote:
What do your detection conditions for your EXE packages look like - in particular, do they take into account any version information?

From your description, I'm guessing they do not, and thus the Suite is detecting the EXE packages as already installed, and doing nothing. You should be able to confirm this by examining a log generated by /debuglog, or by modifying your conditions.





Hi MichaelU,
In detection conditions , we are setting it as Any and adding Installscript packages condition in that by filling the product code of the respective exe packages
0 Kudos
Not applicable

sureshkottakki wrote:
Hi MichaelU,
In detection conditions , we are setting it as Any and adding Installscript packages condition in that by filling the product code of the respective exe packages


I think Michael is referring to the version no. specified in a product version suite detection condition, e.g. something like this:



The Compare To field should match your new version.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If your .exe packages are actually InstallScript setups, we tend to suggest using the "InstallScript package" option rather than the "Executable package."

Since you're using an "InstallScript Package" condition to identify whether the package is present on the machine, be sure to fill in the Product Version and Comparison settings so that when version 1.2.3 is present, your suite doesn't think version 2.4.6 already installed just because a package with the same Product Code is present on the machine.
0 Kudos
sureshkottakki
Level 6

MichaelU wrote:
If your .exe packages are actually InstallScript setups, we tend to suggest using the "InstallScript package" option rather than the "Executable package."

Since you're using an "InstallScript Package" condition to identify whether the package is present on the machine, be sure to fill in the Product Version and Comparison settings so that when version 1.2.3 is present, your suite doesn't think version 2.4.6 already installed just because a package with the same Product Code is present on the machine.


Hi MichaelU




I fill the Product version to 1.00.0000 and Comparision setting to different values eg:Equal to, Greater than, less than . And tried but its not upgrading, actually I changed the exe package version to 3.00.0000
0 Kudos
DLee65
Level 13

I have not seen this mentioned here yet, but make sure you do not change your SUITE GUID at any time, otherwise the install will always be considered a new install, just the product version should be incremented. Consider the SUITE GUID similar to the Upgrade Code of a basic MSI project. 😄

I don't know if this is the problem you are seeing or not. So far our packages have upgraded successfully, but I am using Basic MSI properties for comparison and the SUITE compiler is great for just pulling in the settings we require.

For my Eligibility Settings, I use the following
[FONT=Courier New]
Any:
MSI Package: ProductCode: *; PackageCode: *; ProductVersion: ; Compare:LessThan
None:
MSI Package: ProductCode: *; PackageCode: *; ProductVersion: *; Compare:GreaterThan (Prevents overwriting newer installs)
Platform: OSVersion: 5.1; ServicePack: 3;
ETC (other Platform conditions)
[/FONT]
My guess is that you require something similar with your InstallScript 'package'.
Note that where I specify the ProductVersion value, it is because I want the ability to upgrade from that particular version to the current. In your case you may be able to get away with just specifying 1.0.0 here because you do not have any limits on how far back you can upgrade to the current.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I would expect that, for detection, the Product Version would match the version that's in your Suite (this is easiest to do with the dedicate InstallScript package type, as you can put a * here, or better yet let the empty default detect condition work its magic), with a comparison of Greater Than or Equal To. This will only detect the package if a matching or higher version is installed, allowing it to install over lower versions, and to remove equal or higher versions if uninstalled. Eligibility is different, and while it's useful to reference them to see example condition elements, they may not help you craft a detect condition.

@DLee65, your eligibility condition seems a little suspect to me. By having a root condition of Any, you're saying your package is eligible if any of the following are true: a lower version is present, a higher version is not present, the computer is XP SP3, or whatever's in ETC. I would expect you typically want both your Platform and your MSI Package conditions to be true; that would be represented by something more like this:
All:
Any:
MSI Package: ProductCode: *; PackageCode: *; ProductVersion: ; Compare:LessThan
None:
MSI Package: ProductCode: *; PackageCode: *; ProductVersion: *; Compare:GreaterThan (Prevents overwriting newer installs)
Any:
Platform: OSVersion: 5.1; ServicePack: 3;
ETC (other Platform conditions)
0 Kudos
sureshkottakki
Level 6

MichaelU wrote:
I would expect that, for detection, the Product Version would match the version that's in your Suite (this is easiest to do with the dedicate InstallScript package type, as you can put a * here, or better yet let the empty default detect condition work its magic), with a comparison of Greater Than or Equal To. This will only detect the package if a matching or higher version is installed, allowing it to install over lower versions, and to remove equal or higher versions if uninstalled. Eligibility is different, and while it's useful to reference them to see example condition elements, they may not help you craft a detect condition.

@DLee65, your eligibility condition seems a little suspect to me. By having a root condition of Any, you're saying your package is eligible if any of the following are true: a lower version is present, a higher version is not present, the computer is XP SP3, or whatever's in ETC. I would expect you typically want both your Platform and your MSI Package conditions to be true; that would be represented by something more like this:
All:
Any:
MSI Package: ProductCode: *; PackageCode: *; ProductVersion: ; Compare:LessThan
None:
MSI Package: ProductCode: *; PackageCode: *; ProductVersion: *; Compare:GreaterThan (Prevents overwriting newer installs)
Any:
Platform: OSVersion: 5.1; ServicePack: 3;
ETC (other Platform conditions)




Hi MichaelU,

One more point is we are using exe packages , not Installscript packages. And * value is not working in exe packages. I tried to fill product code package code in different conditions but nothing worked out for upgradation
0 Kudos
sureshkottakki
Level 6

Any updates on this issue please
0 Kudos
niks
Level 4

Hi,

I am getting attached error every time a package(.exe) is installed using installscript project of Installshield 2014.

The packages are installed fine just a pop coming through string editor. Kindly suggest how to disable the string and resolve this issue.

Appreciate your help in advance.

Regards,

Niks
0 Kudos
Not applicable

Make sure you have set the correct detection conditions for your packages.
0 Kudos
niks
Level 4

Hysteresis wrote:
Make sure you have set the correct detection conditions for your packages.



Still facing the issue. Changed the Detection settings one by one to : All/None/Any still the same issue is coming.

Appreciate your help and quick response.
0 Kudos
DLee65
Level 13

The detection condition for your package must evaluate to 'True' in order for the package install to be successful. The only way for the failure to occur that I know of is that when the install finishes the detection condition is false.
For example, I get the following detection condition when I import the SQL Server 2012 Express SP1 prerequisite:
Any
None:
Registry Comparison:
Registry Key: HKLM\Software\Microsoft\Microsoft SQL Server\INSTANCENAME\MSSQLServer\CurrentVersion
Value Name: CurrentVersion
Comparison: LessThan
Compare To: 11.0.2100.60
Conversion: Version
64-Bit Key:
None:
Registry Exists:
Registry Key: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\AMAZINGCHARTS\MSSQLServer\CurrentVersion
VAlue Name: CurrentVersion
64-bit Key:


This is the detection it must perform to verify if the app should be installed, and once installed that it installed successfully. All I did here was import the PRQ file.
What type of package are you trying to install that returns a failure? What detection conditions do you have in place? This information will better help us help you. 😄
0 Kudos
sureshkottakki
Level 6

Hi ,
Our issue is different from Niks issue, I am suppose to stop the execution of the remaining installers if we stop the execution of the first installer in Suite project
0 Kudos
niks
Level 4

DLee65 wrote:
The detection condition for your package must evaluate to 'True' in order for the package install to be successful. The only way for the failure to occur that I know of is that when the install finishes the detection condition is false.
For example, I get the following detection condition when I import the SQL Server 2012 Express SP1 prerequisite:
Any
None:
Registry Comparison:
Registry Key: HKLM\Software\Microsoft\Microsoft SQL Server\INSTANCENAME\MSSQLServer\CurrentVersion
Value Name: CurrentVersion
Comparison: LessThan
Compare To: 11.0.2100.60
Conversion: Version
64-Bit Key:
None:
Registry Exists:
Registry Key: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\AMAZINGCHARTS\MSSQLServer\CurrentVersion
VAlue Name: CurrentVersion
64-bit Key:


This is the detection it must perform to verify if the app should be installed, and once installed that it installed successfully. All I did here was import the PRQ file.
What type of package are you trying to install that returns a failure? What detection conditions do you have in place? This information will better help us help you. 😄


The issue persists with all the packages I have included so far. The installation results are fine, the issue I have is this pop up saying that the installation process has failed(although it hasn't). The string : IDS_SUITE_PACKAGEFAIL is by default called at the end of each package installation. In the pop up if Yes is selected it automatically starts next installation without any glitch.

Ho can I disable this string. I have tried deleting it from string editor still a pop comes up.

For detection settings I have tried with all options: None/Any/All. It hasn't helped.

Thanks for all the responses.
0 Kudos
DLee65
Level 13

I am not sure what you are doing, but I have a very successful SUITE package that does not produce this message. So I personally know that it works.

Have you tried to create just a very basic suite package with one package, let's say ORCA.MSI?

The process works in my experience, there is just something wrong with how your packages are configured. Trying to isolate the cause is difficult because we know nothing of what is included in your packages or what settings you are using. You only state that you set conditions to any|all|none, but just setting this does not create a condition under it. If there are no conditions under it then delete the reference to Any|All|None.

I suspect that the action to show the message is internal to the suite executable, and it just utilizes the string to show on the message. I would not expect that deleting a string table entry would have any effect on an action.

Have you tested this without any detection conditions?

Keep at it, there is a good reason why you see the message.
0 Kudos
DLee65
Level 13

sureshkottakki wrote:
Hi ,
Our issue is different from Niks issue, I am suppose to stop the execution of the remaining installers if we stop the execution of the first installer in Suite project


In my experience, if your detection condition is correct, then the install should stop. For instance, if my install fails to download the .NET Framework files, my package will throw an error and the setup stops.

For your case, double check your Install settings for the package.




Make sure the Exit Behavior is set to what you expect.
Also, just double check your detection conditions. Here is an example that I use for .NET Framework 4.5.2
0 Kudos
niks
Level 4

DLee65 wrote:
I am not sure what you are doing, but I have a very successful SUITE package that does not produce this message. So I personally know that it works.

Have you tried to create just a very basic suite package with one package, let's say ORCA.MSI?

The process works in my experience, there is just something wrong with how your packages are configured. Trying to isolate the cause is difficult because we know nothing of what is included in your packages or what settings you are using. You only state that you set conditions to any|all|none, but just setting this does not create a condition under it. If there are no conditions under it then delete the reference to Any|All|None.

I suspect that the action to show the message is internal to the suite executable, and it just utilizes the string to show on the message. I would not expect that deleting a string table entry would have any effect on an action.

Have you tested this without any detection conditions?

Keep at it, there is a good reason why you see the message.


Hi,

Thanks for your response. The projects that I have added are .exe files not .msi. All the packages that I have tried so far have given the same issue. Can you share the process how Install suite calls the primary and secondary windows during installation. Install suite does not allow to debug which have become my biggest misery. I need to understand the process flow of install suite working.
This issue has been stuck with me from some time now. The only solution I have come up so far is replacing the failed error string with 'Would you like to Proceed" string.:)

Appreciate your valuable responses.
0 Kudos