Hi there!

I have a little strange problem.
I have done a lot of packages and now it's getting time to do some kind of upgrades to them.
In the latest case was it only some registry settings that has been added.
I have maked an "Major Upgrade" in AdminStudio, so it will remove the previous version if it exists.

When I install the package (manually) on a clean PC it works fine, but when I installs it on a PC thats already has the previuos version of application the installation works fine, but when I start the application it want to repair.

I have maked a logged MSI-installation, and noticed that i got "Action: Null" on some components (Redistributables in this case) when I installs it on a PC that has the previuos version.

I get "Action: Local" on the same component when I installs the new package on a clean PC.

The application works after the repair, but it is a little annoying that it needs to repair a component that is supposed to be intalled from the begining.

I noticed in the event viewer that the component mentioned there doesn't even exist in the component table.
I also looked for the GUID of the Redistributales, but they don't either have the mentioned ID.

Thanks!

/Jonas
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
Hi Jonas,
have you checked the sequence # of the 'RemoveExistingProducts' row in the 'InstallExecute' table. Some vendors (like Wise) put this sequence at the very end of table and this removes components which are meant to stay on the system.
If this is the case, put it right before 'InstallInitialize'.
Regards, Nick
Answered 09/28/2006 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Hi Nick!

Thank you for your fast reply!

I took a look in the sequences in my Adminstudio, but "RemoveExistingProducts" (seq # 1410) is already just before the "InstallInitialize" (seq # 1501) there.

Any other suggestions?

/Jonas
Answered 09/28/2006 by: jonasm
Blue Belt

Please log in to comment
0
During repair process, just cancel the repair and go to startmenu> run> eventvwr> applications and check for MSI error, it will tell for which component and key file it is going for reapir..

normally upgarde apps go for repair, of below cases
1) becuase of isolation
2) due to font components
3) improper seqencing of Remove existing product..

Thanks,
venki.
Answered 09/28/2006 by: venki_msi
Senior Yellow Belt

Please log in to comment
0
Hi Venki!

Thanks for your reply.

As I mentioned above does not the component in the MSI Error log exist in the component table.
The place where it usually says what keyfile/path that has been triggered, there is only empty...

/Jonas
Answered 09/29/2006 by: jonasm
Blue Belt

Please log in to comment
0
is it a captured application or vendor MSI?
How did the feature strcuture looks.. is it single feature or components are organised in to various features?

Did msi is having any empty components? or component with null or improper GUID..
Answered 09/29/2006 by: venki_msi
Senior Yellow Belt

Please log in to comment
0
Hi there!

It is a captured application with only one feature, and about 60 components in that feature.
There is no empty components (what I can see), and I assume that InstallShield Adminstudio has created correct GUID's for the components. When I look in the component table in Direct Edit mode, the GUID's looks right to me.

/Jonas
Answered 10/03/2006 by: jonasm
Blue Belt

Please log in to comment
0
Btw... It works fine if I uninstalls the old application first, and installs the new one afterwards.
But all users doesn't have the old version, so I can't set it in the package to remove.
And I think it doesn't work either while the installation uses the MSI-engine, so the uninstallation can't run at the same time.

/Jonas
Answered 10/09/2006 by: jonasm
Blue Belt

Please log in to comment
0
Hi Jonasm ,

Did u check for the MSI log and verify if the earlier version is upgrading properly . Check the upgrade table for the Actionproperty, u need to have a action property associated with the upgrade .

Cheers ,
Answered 10/10/2006 by: viswakar
Senior Yellow Belt

Please log in to comment
0
ORIGINAL: jonasm

Btw... It works fine if I uninstalls the old application first, and installs the new one afterwards.
But all users doesn't have the old version, so I can't set it in the package to remove.


Hi Jonas,
that's exactly what the upgrade table is used for: To search for the package to upgrade. If it's there, its being removed by 'RemoveExistingProducts'. You don't have to bother about this, its a built in function.

It seems to me, that you are overwriting parts (components) of the old installation, but not all. If a component with its unique GUID is allready installed by the old app, it wont be installed again. You can check this in the log.

Make sure, the old app gets uninstalled and it should work.

Regards, Nick
Answered 10/11/2006 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
I could be wrong but...

Each component should have a keypath set. You're installing various versions of certain files over those component keypaths. Example...

Package1 contains xxx.dll 1024k v2.2.2
Package2 contains xxx.dll 1037k v2.2.3

Now you click on the shortcut to launch the application. Windows installer says, "wait a minute... xxx.dll (keypath file) is no longer 1024k and v2.2.2, we must repair the application. That is why I believe you're running into this issue.

That is why when you uninstall the old app, the new one installs without issue.
Answered 10/12/2006 by: Secondlaw
Third Degree Blue Belt

Please log in to comment
0
Hi there everyone, and thank you for your replys.

This is the message I get in the Event Viewer. As you see there is a component number (that does not exist in my package) and the line saying what key is just empty.



It usually works with this upgrades.

I will take a look on the file replacements, but in this case is it only two files that has been changed and some registry settings has been added.

/Jonas
Answered 10/17/2006 by: jonasm
Blue Belt

Please log in to comment
0
Hi Jonas,
look for the error in the log file. Go to the end of it and scroll up to the part, where the property variables begin. Maybe their is a rollback, then you have to scroll up further until you see the part, where the error occurs.
Hope this helps.
Regards, Nick
Answered 10/18/2006 by: nheim
Tenth Degree Black Belt

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