Hi
I am trying to create a TRANSFORMS from a vendor MSI file that will include some custom action to remove the older version of the same product. I can create the TRANSFORMS (using AdminStudio 9.5 Tuner) but in the TRANSFORMS I do not see "Custom Actions" node.

I just need to add code like "msiexec.exe /x {OLD_GUID} /qb-" but not sure where to add this.

I am a newbie to MSI packaging and this is my first post so please be gentle.

Any help is much appreciated.

thanks
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
you dont have to write a custom action to remove older versions of the application.

Add entries in Upgrade Table and MSI will perform the removal of older version during the Installation of your app.
Answered 03/30/2010 by: mekaywe
Brown Belt

Please log in to comment
0
Thanks for your quick reply but I don't see "Upgrade Table" in Direct Editor
Answered 03/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
I am not sure about using AdminStudio but it will be in one of the Tables
Answered 03/30/2010 by: mekaywe
Brown Belt

Please log in to comment
0
Is there a GUI view as in wise to just point to the msi you need to upgrade?
Answered 03/30/2010 by: ogeccut
Black Belt

Please log in to comment
0
Since I do not have Wise (and never used it) so not sure
Answered 03/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
Check IDE->Media->Upgrades if you have that option
Answered 03/30/2010 by: mekaywe
Brown Belt

Please log in to comment
0
Nope..don't see that either
Answered 03/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
GUI interface goes this way
Installation Designer -> Media -> Upgrades ... there you have to provide entries under "ISPreventDowngrade" option

Manually you can provides entries in
Direct Editor -> Upgrade
Answered 03/30/2010 by: mekaywe
Brown Belt

Please log in to comment
0
Hi Johni.

Maybe the vendor MSI doesn't have the Upgrade table? You could look at the MSI with Orca to verify that. I say Orca because if you open it with InstallShield and it doesn't have the table, IS will show that it does have the table but that it's empty; Orca will just show what is there without putting what should be there. I opened a test MSI in Orca, deleted the table and saved it. I opened it in IS and it showed the empty table. I opened it back in Orca and the table isn't there. Nice feature in IS, huh? [8D]

In the Tuner, open the Help and search for "Updating Upgrade Table for an Upgrade". It explains how to create the Upgrade table and to populate it with the data needed.
Answered 03/30/2010 by: bearden3
Purple Belt

Please log in to comment
0
Inacse the table do not exists, then open a blank template and from Direct Editor export teh Upgrade table then in the
Transform import it and update the required fields in the table such as the Upgrade Code, Min and Max Version , attributes and action property columns

Upgrade Code will contain the Upgrade Code of the application which needs to be upgarded.
Max version: define the version of the application which needs to be upgarded.
Attributes: calculate it using the help file

For Action Property column, define an entry say UPGRADE_1 and use this property as a value in the property table for property SecureCustomProperties.
If the property is not defined, then define it and add that as a value.
Answered 03/31/2010 by: shweta_kar
Blue Belt

Please log in to comment
0
Inacse the table do not exists, then open a blank template and from Direct Editor export teh Upgrade table then in the
Transform import it and update the required fields in the table such as the Upgrade Code, Min and Max Version , attributes and action property columns

Upgrade Code will contain the Upgrade Code of the application which needs to be upgarded.
Max version: define the version of the application which needs to be upgarded.
Attributes: calculate it using the help file

For Action Property column, define an entry say UPGRADE_1 and use this property as a value in the property table for property SecureCustomProperties.
If the property is not defined, then define it and add that as a value.


Also, I'm willing to bet that if you have to add the Upgrade Table, you'll have to add the FindRelatedProducts and RemoveExistingProducts actions to your MSI. Unfortunately since I haven't worked with Wise in ages I couldn't give you a step by step on how to do it, but Google might help you there.

PJ
Answered 03/31/2010 by: pjgeutjens
Red Belt

Please log in to comment
0
add the FindRelatedProducts and RemoveExistingProducts actionsWise makes this as easy as picking those actions from the 'Standard Actions' tab.
Answered 03/31/2010 by: VBScab
Red Belt

Please log in to comment
0
I opened it back in Orca and the table isn't thereI don't know which version of Orca you're using but v5 shows empty tables and, AFAICR, previous versions did, too.
Answered 03/31/2010 by: VBScab
Red Belt

Please log in to comment
0
wow...you guys are awsome....lot of good tips.....I will try them out and will post back the results....thanks
Answered 03/31/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
mekaywe, when I right click the MSI and click on "Edit with InstallShield" it opens up the "Installation Designer" tab/page. The folder structure that I see in the left pane has 8 main folders "Installation Information", "Organization", "Application Data", "System Configuration", "Server Configuration", "Behavior and Logic", "User Interface" and last "Additional Tools"....but I still do not see any "Media" folder, so not sure why.....

bearden3 you are corect, I opened the MSI in IS and I see the Upgrade table which is empty but when I open the same MSI in Orca I don't see the Upgrade table

shweta_kar, while I was trying your tip I came across something new in the help file to create the Upgrade Table in the Transform. And this is what I did which worked for me;

Open the MSI in IS and make changes to the Upgrade Table (like Upgrade Code, VersionMin, Attributes, ActionProperty etc), save the file as MST. By doing this I was able to create Trnsforms with the "Upgrade Table" and without modifying the vendor MSI.
I tested this Transform and it removed the older products.
However, some questions that I have regarding the install and the Upgrade Table are;
  1. The newer version got installed first and then the older version got removed.....I thought it ws going to go the other way. Is it the default behavior? and can I change it?
  2. When I double clicked on the desktop icon of the newer version of the application it opened up the configuration box (with progress bar) but finally it launched the application successfully. If I just install the Vendor MSI file (without removing any older version) it does not launch the configuration wizard/box when opened the very first time. Since my users do not have admin rights on their PCs, I am concerned that it could become a problem. So, how can i avoid this repair/config wizard?
  3. Fot the Attribute I put 257 (I got this number from help file and from googling) and for ActionProperty I put the application name with version number (e.g. APPV5).....but to be honest I have no clue what these values do, so if you can elaborate on that or provide any link that explains these values that would be great

pjgeutjens, I did not have to add anything to FindRelatedProducts and RemoveExistingProducts and I have no clue why I didn't have to


Finally, I just want to thank everyone who helped me in getting this issue resolved.....[:)]
Answered 03/31/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
change the sequence of "RemoveExistingProducts" sequence number to 750 and your issue which configuration wizard on first lauch will be resolved.

You can find RemoveExistingProducts Custom action in "InstallExecuteSequence" Table in Direct Editor of your Application.
Answered 03/31/2010 by: mekaywe
Brown Belt

Please log in to comment
0
Thanks mekaywe, it worked like a charm !!!
Answered 04/01/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
Hi
It's me again.

I am running into a small issue with the above mentioned package and here are the details:

Scenario 1:
If I have two older version of a product (e.g XYZ v3 and v4) then installing v5 (by creating TRANSFORMS with "RemoveExistingProducts" sequence number set to 750 "as mekaywe mentioned)....everything works fine....it removes both v3 & v4 and installs v5.

Scenario 2: (new request from the development team)
On a computer that has all three versions installed (v3, v4 & v5)...it should remove only v3 & v4 and only refresh v5 (if needed). So I used the same TRANSFORMS that I created (as mentioned above) but the only thing it does is refresh v5 and does not remove v3 & v4. I tried changing "RemoveExistingProducts" sequence number set to 405 but that did not do anything.

So what should I try.
thanks
Answered 07/29/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
A little quote from the AdminStudio 9 help library:

The installer only runs the RemoveExistingProducts action the first time it installs a product. It does not run the action during a maintenance installation or uninstallation.

Since version 5 is already installed, you're running the installation in maintenance mode the second time around, so the RemoveExistingProducts action does not run.
Dunno if there's anything you can do about this, other than explicitly uninstalling and reinstalling V5 if it's found on the system.

PJ
Answered 07/30/2010 by: pjgeutjens
Red Belt

Please log in to comment
0
How does Scenario 2 occur if your v5 package removes v3 and v4?

A quick operational note...

The actual sequence number of CAs is irrelevant. What's relevant is their position relative to others. So, for example, you might have only 100 actions in a sequence so setting, for example, REP to 750 (or 405) might not produce the result you expect.
Answered 07/30/2010 by: VBScab
Red Belt

Please log in to comment
0
VBScab, in Scenario2 if v5 is not installed and v3, v4 are installed then it works fine. It removes both versions and install v5.
However, if all three versions all installed then it does not do anything.

pjgeutjens, so if I understood correctly there is no way to remove v3 & v4 if all versions are installed unless I also remove v5 first, correct?

thanks
Answered 07/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
Yeh, you said. You also assert that v5 already removes v3 and v4, right? So, if installing v5 removes v3 and v4, how do you ever get to a state where v3, v4 and v5 exist on the same machine? By magic?
Answered 07/30/2010 by: VBScab
Red Belt

Please log in to comment
0
VBScab, my appologies for the confusion.....

let me try again.

In my environment I have several computers that have v3 & v4 installed and also several computers that have v3, v4 & v5 installed.

When I advertise the package (via SCCM) to the computers that have v3 & v4 installed...the package removes v3 & v4 and installs v5.

When I advertise the same package to the computers that have v3, v4 & v5 installed the package does not remove v3 & v4 ... All I see is Windows Installer progress bar for some seconds and then it disappears.

Please let me know if I am still not clear....and like always thanks for your help
Answered 07/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
Johni,

you did understand correctly that the only option would be to uninstall V5 and then reinstall it from scratch on the machines where V3; V4 and V5 are found. I assume that this situation comes from an older version of the V5 package being loose in the field that did not uninstall the older versions yet?

PJ
Answered 07/30/2010 by: pjgeutjens
Red Belt

Please log in to comment
0
pjgeutjens, v5 package in question is the same package that I am trying to install via SCCM. What happened was that some developers/testers went ahead and installed v5 package on their own (and then decided to install v3 & v4 on the same PC for whatever reason)....so now what I am trying to do is to remove v3 & v4 without removing v5 but seems like it is not possible without first removing v3, v4, v5 and then re-installing v5.

thanks
Answered 07/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
What happened was that some developers/testers went ahead and installed v5 package on their ownAaaaaaaaaaahhhhhhhhhhhh............all is clear.

Developers...[shakes head]. I see this cr@p everywhere. I'd be tempted to just have them sort it out themselves, since they're almost bound to screw something else up at some later stage.

- Go into Group Policy, browse to your developer's group and remove that group's rights to install software.
- Or set permissions on the application share to exclude them. Make them go through Change Control to have stuff installed.
- Or set up an SCCM job to remove their local admin rights.
- Or, to make them really focus on not screwing things up, use SCCM to fire a new build at their workstations.

Whatever, make them learn that there are processes in place for a reason. If you don't, you'll be repeating a simialr exercise a lot sooner than you'd like.
Answered 07/30/2010 by: VBScab
Red Belt

Please log in to comment
0
Ahhhh ... I wish, I wish .... that I could do all that.......but it is an uphill battle that I am never going to win .... if somehow I get approval to take away any of their rights....it would be like "End of the World" for them...... you know what I mean....LOL

take care
Answered 07/30/2010 by: Johni
Senior Yellow Belt

Please log in to comment
0
Well johni,

since your team, I assume, is in charge of supplying and installing the packages of the applications for your company, you should probably tell them from now on that any machine on which a manual install of your software has been done without your involvement (or that of the officicial software distribution system) is henceforth to be considered UNSUPPORTED and they can basically sort out their own problems.

It's basically the friendly version of telling em to go screw themselves with their playground PCs [:D]

PJ
Answered 07/30/2010 by: pjgeutjens
Red Belt

Please log in to comment
0
I and my fellow packagers faced a similar situation at my last client where Desktop Support forgot that the clue to their job function is in their job title and would manually install applications which, under normal circumstances, were installed per-user via Group Policy. Result? Mayhem as soon as the time came to uninstall ready for a new version. Luckily we were supported by senior management in taking exactly the attitude Pieter suggests. It was left to them to explain to the user "Sorry but yes, because I couldn't be ar$ed to do my job properly the last time, you WILL need to wait for about an hour while your rebuilt PC gets its apps installed."
Answered 07/30/2010 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity