Uninstall? Major Upgrade?
I've searched and searched and can't seem to find enough information to get my package to uninstall previous versions. Please help.
I'm trying to deploy the latest Java to our users, who all have various versions currently installed on their systems. I've downloaded and extracted the latest JAVA msi from the appropriate website. I'm using Flexnet admin studio 7.5.
I've opened up the msi in the editor and from what I gather I need to edit the Upgrade table in "direct editor" and put in the appropriate CLSIDs of the old verstions into the upgrade code field in the table. There's a few wierd things that happen when I try, first of all, as soon as I click into the field is seems to automatically put some sort of CLSID into the field on its own. Then I edit this value and put in the appropriate value and then a red x appears beside the line and I cant edit any more fields in that row. However, if I exit the upgrade table and go to another table, then got back, somehow I end up with 3 rows. Two have a gree plus sign (one of which contains the CLSID I entered) the other is some random one. The third row has a red x and appears to be the original ID that was entered when I first clicked on the row.
At this point I can edit the other fields in the row in question, but frankly I'm not sure what goes into them ( VersionMin, VersionMax, Language, Attributes, Remove, ActionProperty).
I've googled and searched in the forums and can't seem to figure it out fully. I don't have access to the manual and I'm finding the built in "help" to be a little confusing.
All I want is for the install to remove any previous versions of Java before it installs. Can some kind sould walk me through exactly how to do this?
I'm trying to deploy the latest Java to our users, who all have various versions currently installed on their systems. I've downloaded and extracted the latest JAVA msi from the appropriate website. I'm using Flexnet admin studio 7.5.
I've opened up the msi in the editor and from what I gather I need to edit the Upgrade table in "direct editor" and put in the appropriate CLSIDs of the old verstions into the upgrade code field in the table. There's a few wierd things that happen when I try, first of all, as soon as I click into the field is seems to automatically put some sort of CLSID into the field on its own. Then I edit this value and put in the appropriate value and then a red x appears beside the line and I cant edit any more fields in that row. However, if I exit the upgrade table and go to another table, then got back, somehow I end up with 3 rows. Two have a gree plus sign (one of which contains the CLSID I entered) the other is some random one. The third row has a red x and appears to be the original ID that was entered when I first clicked on the row.
At this point I can edit the other fields in the row in question, but frankly I'm not sure what goes into them ( VersionMin, VersionMax, Language, Attributes, Remove, ActionProperty).
I've googled and searched in the forums and can't seem to figure it out fully. I don't have access to the manual and I'm finding the built in "help" to be a little confusing.
All I want is for the install to remove any previous versions of Java before it installs. Can some kind sould walk me through exactly how to do this?
0 Comments
[ + ] Show comments
Answers (24)
Please log in to answer
Posted by:
spartacus
18 years ago
I assume we are talking about Java Runtime Environment here, right ? (If not, skip all that follows)
I just took a look at the MSI and transform for J2SE Runtime Environment 5.0 Update 7 (which are unpacked to the %TEMP% folder when you run the downloaded executable).
The upgrade table isn't populated by default and the reason for this might be found in the following extract from the FAQ section on Sun's website :
[font="Courier New"]General Questions
Printable Version
Can I remove older versions of the JRE after installing a newer version?
The latest version of the Java Runtime Environment (JRE) contains updates to previous versions. There might be some applications or applets written and tested against a specific version of the JRE.
It is recommended that you keep older versions of the JRE on your system. If you are running low on disk space, you can uninstall older versions of the JRE.
To remove older versions of JRE, go to Windows Java Runtime Environment uninstallation instructions page.
Whole article can be found at [link]http://www.java.com/en/download/faq/5000070400.xml[/link]
So it looks like the recommendation (from Sun) is to keep the older versions of JRE on and install newer versions side alongside them.
With regards to the problems you are facing modifying the Upgrade Table in AdminStudio, this sounds like general "flakiness" with the editor - you can sometimes see a similar effect when modifying the Property table directly. One approach might be to modify the Upgrade table using ORCA if you are determined to uninstall previous versions of JRE.
Regards,
Spartacus
I just took a look at the MSI and transform for J2SE Runtime Environment 5.0 Update 7 (which are unpacked to the %TEMP% folder when you run the downloaded executable).
The upgrade table isn't populated by default and the reason for this might be found in the following extract from the FAQ section on Sun's website :
[font="Courier New"]General Questions
Printable Version
Can I remove older versions of the JRE after installing a newer version?
The latest version of the Java Runtime Environment (JRE) contains updates to previous versions. There might be some applications or applets written and tested against a specific version of the JRE.
It is recommended that you keep older versions of the JRE on your system. If you are running low on disk space, you can uninstall older versions of the JRE.
To remove older versions of JRE, go to Windows Java Runtime Environment uninstallation instructions page.
Whole article can be found at [link]http://www.java.com/en/download/faq/5000070400.xml[/link]
So it looks like the recommendation (from Sun) is to keep the older versions of JRE on and install newer versions side alongside them.
With regards to the problems you are facing modifying the Upgrade Table in AdminStudio, this sounds like general "flakiness" with the editor - you can sometimes see a similar effect when modifying the Property table directly. One approach might be to modify the Upgrade table using ORCA if you are determined to uninstall previous versions of JRE.
Regards,
Spartacus
Posted by:
turbokitty
18 years ago
A few things..
First, you shouldn't be editing the MSI, use a transform. That's probably why you're seeing flakiness, plus it's bad practise to edit a vendor MSI.
When you've opened the transform project, use the Upgrade section of the GUI to add upgrades. Right click on "Upgrade Windows Installer Setup" then choose "Add Major Upgrade Item". It should be clear what to do after that.
If not, post again.
First, you shouldn't be editing the MSI, use a transform. That's probably why you're seeing flakiness, plus it's bad practise to edit a vendor MSI.
When you've opened the transform project, use the Upgrade section of the GUI to add upgrades. Right click on "Upgrade Windows Installer Setup" then choose "Add Major Upgrade Item". It should be clear what to do after that.
If not, post again.
Posted by:
xxLucidxx
18 years ago
Thank you for the quick reply. Yes, I am talking about JRE. I have seen Sun's recommendations about keeping the old versions. We do have some space issues on some of the machines and the only apps we run are based on 1.5 JAVA so I would like to clean out all the old versions. Unfortunetly the instructions on the website show you how to do it via add remove programs which is not what I'm looking for.
Do you have any thoughts on what I should do to get it working using the upgrade table?
My log file has the following info (I think these are the pertinent sections, please let me know if I should post more):
MSI (s) (1C:E0) [11:06:12:171]: Doing action: FindRelatedProducts
Action ended 11:06:12: LaunchConditions. Return value 1.
MSI (s) (1C:E0) [11:06:12:171]: Note: 1: 2262 2: Upgrade 3: -2147287038
MSI (s) (1C:E0) [11:06:12:171]: Transforming table Upgrade.
Action start 11:06:12: FindRelatedProducts.
MSI (s) (1C:E0) [11:06:12:181]: Skipping action: CCPSearch (condition is false)
MSI (s) (1C:E0) [11:06:12:181]: Skipping action: RMCCPSearch (condition is false)
MSI (s) (1C:E0) [11:06:12:181]: Doing action: ValidateProductID
Action ended 11:06:12: FindRelatedProducts. Return value 1.
MSI (s) (1C:E0) [11:06:12:532]: Doing action: RemoveExistingProducts
Action ended 11:06:12: InstallValidate. Return value 1.
MSI (s) (1C:E0) [11:06:12:532]: Note: 1: 2262 2: Upgrade 3: -2147287038
MSI (s) (1C:E0) [11:06:12:532]: Transforming table Upgrade.
Action start 11:06:12: RemoveExistingProducts.
MSI (s) (1C:E0) [11:06:12:532]: Doing action: InstallInitialize
Action ended 11:06:12: RemoveExistingProducts. Return value 1.
Again, any help on this is much appreciated.
Do you have any thoughts on what I should do to get it working using the upgrade table?
My log file has the following info (I think these are the pertinent sections, please let me know if I should post more):
MSI (s) (1C:E0) [11:06:12:171]: Doing action: FindRelatedProducts
Action ended 11:06:12: LaunchConditions. Return value 1.
MSI (s) (1C:E0) [11:06:12:171]: Note: 1: 2262 2: Upgrade 3: -2147287038
MSI (s) (1C:E0) [11:06:12:171]: Transforming table Upgrade.
Action start 11:06:12: FindRelatedProducts.
MSI (s) (1C:E0) [11:06:12:181]: Skipping action: CCPSearch (condition is false)
MSI (s) (1C:E0) [11:06:12:181]: Skipping action: RMCCPSearch (condition is false)
MSI (s) (1C:E0) [11:06:12:181]: Doing action: ValidateProductID
Action ended 11:06:12: FindRelatedProducts. Return value 1.
MSI (s) (1C:E0) [11:06:12:532]: Doing action: RemoveExistingProducts
Action ended 11:06:12: InstallValidate. Return value 1.
MSI (s) (1C:E0) [11:06:12:532]: Note: 1: 2262 2: Upgrade 3: -2147287038
MSI (s) (1C:E0) [11:06:12:532]: Transforming table Upgrade.
Action start 11:06:12: RemoveExistingProducts.
MSI (s) (1C:E0) [11:06:12:532]: Doing action: InstallInitialize
Action ended 11:06:12: RemoveExistingProducts. Return value 1.
Again, any help on this is much appreciated.
Posted by:
xxLucidxx
18 years ago
Turbokitty,
Thanks for your reply. Sorry, I should have been clearer, I am trying to create a transform.
I can't seem to find the "upgrade section" you speak of. Can you tell me how to get there in the gui?
Here are my steps:
- open installshield 11.5 pro - adminstudio edition
- file -> new ->Transform
- wizard opens
- browse to msi , click next
- leave additional transforms section blank, next
- click finish
Then it takes me to the project assistant:
- enter in application info, click next arrow
- accept defaults on installation requirements, click next arrow
- accept defaults on installation architecture, click next arrow
- accept defaults on application files, click next arrow
- accept defaults on application shortcuts, click next arrow
- accept defaults on application registry, click next arrow
- accept defaults on installation interview, click next arrow
Thats all i get from the project assistant, so then I go to the installation designer tab and I get a hierarchy of folders on the left hand side of the screen (install info, application data, system configuration, etc.) and none of these seem to have anything under them about upgrades. I've looked in the menus as well and can't seem to find them.
Sorry, pretty new to this stuff...
Thanks for your reply. Sorry, I should have been clearer, I am trying to create a transform.
I can't seem to find the "upgrade section" you speak of. Can you tell me how to get there in the gui?
Here are my steps:
- open installshield 11.5 pro - adminstudio edition
- file -> new ->Transform
- wizard opens
- browse to msi , click next
- leave additional transforms section blank, next
- click finish
Then it takes me to the project assistant:
- enter in application info, click next arrow
- accept defaults on installation requirements, click next arrow
- accept defaults on installation architecture, click next arrow
- accept defaults on application files, click next arrow
- accept defaults on application shortcuts, click next arrow
- accept defaults on application registry, click next arrow
- accept defaults on installation interview, click next arrow
Thats all i get from the project assistant, so then I go to the installation designer tab and I get a hierarchy of folders on the left hand side of the screen (install info, application data, system configuration, etc.) and none of these seem to have anything under them about upgrades. I've looked in the menus as well and can't seem to find them.
Sorry, pretty new to this stuff...
Posted by:
turbokitty
18 years ago
I sent you on a wild goose chase, I'm sorry. I thought this would work when I posted:
1) Create a new MSI project
2) Code the upgrade info into it
3) Compile
3) Create/Apply Transform Wizard and use the Java MSI as the base and the new MSI as the differential
But if you try to do that, it crashes out. So it's an Installshield problem. Unfortunately, they add a lot of cool features that don't work all that often.
You can't see the Upgrade postion of the GUI when creating a transform because it only allows you to directly edit the transform. It needs to be in project mode for this to work.
What's your deployment tool?
1) Create a new MSI project
2) Code the upgrade info into it
3) Compile
3) Create/Apply Transform Wizard and use the Java MSI as the base and the new MSI as the differential
But if you try to do that, it crashes out. So it's an Installshield problem. Unfortunately, they add a lot of cool features that don't work all that often.
You can't see the Upgrade postion of the GUI when creating a transform because it only allows you to directly edit the transform. It needs to be in project mode for this to work.
What's your deployment tool?
Posted by:
xxLucidxx
18 years ago
Posted by:
turbokitty
18 years ago
Posted by:
xxLucidxx
18 years ago
Thanks again for your help. I couldn't quite figure out how to do it with an MSI. Can you elaborate on the steps?
What I did manage to get working was to create an exe custom action. I used msiexec as the exe and passed " /x {clsid} /qb" to it. The problem I'm having is that on my test machine, when I try to uninstall it, the custom action trys to run again. Is there a way I can ensure that it only runs during install, and not uninstall?
Or will doing the uninstall via MSI as you mentioned keep this from happening? If so please walk me through. The wizard gives me three location options (which I'm not sure which to choose). Then it asks me for source and target, which I'm not sure what to put in there (is the source the original install MSI? what do I put into the target field?).
Once again, thanks for your help.
What I did manage to get working was to create an exe custom action. I used msiexec as the exe and passed " /x {clsid} /qb" to it. The problem I'm having is that on my test machine, when I try to uninstall it, the custom action trys to run again. Is there a way I can ensure that it only runs during install, and not uninstall?
Or will doing the uninstall via MSI as you mentioned keep this from happening? If so please walk me through. The wizard gives me three location options (which I'm not sure which to choose). Then it asks me for source and target, which I'm not sure what to put in there (is the source the original install MSI? what do I put into the target field?).
Once again, thanks for your help.
Posted by:
turbokitty
18 years ago
Sure, no problem.
- Start the Custom Action Wizard by right clicking at the top level of the middle pane where it says "Custom Actions"
- Next
- Name is anything
- Comment is anything
- Next
- Type is Launch Another MSI Package
- Location is An Application that is Advertised or Already Installed
- Next
- Source, browse to a copy of the MSI you want to uninstall... it doesn't matter where it is, it just wants to rip the GUID from it
- Target is default (ALLUSERS=[ALLUSERS] REMoVE=ALL
-Next
- Leave Wait for action to finish executing checked on
- Leave Ignore Custom Action Return Code checked off (or on if you want.. doesn't matter)
- In Script Execution will be greyed out
- Execution Scheduling leave as Always Execute
- Next
- Leave the Install UI Sequence alone
- Leave the Install UI Condition alone
- Change the Install Execute Sequence to after "Remove Existing Products"
- Change the Install Execute Sequence to "Not Installed" no quotes
Try that out, let me know
- Start the Custom Action Wizard by right clicking at the top level of the middle pane where it says "Custom Actions"
- Next
- Name is anything
- Comment is anything
- Next
- Type is Launch Another MSI Package
- Location is An Application that is Advertised or Already Installed
- Next
- Source, browse to a copy of the MSI you want to uninstall... it doesn't matter where it is, it just wants to rip the GUID from it
- Target is default (ALLUSERS=[ALLUSERS] REMoVE=ALL
-Next
- Leave Wait for action to finish executing checked on
- Leave Ignore Custom Action Return Code checked off (or on if you want.. doesn't matter)
- In Script Execution will be greyed out
- Execution Scheduling leave as Always Execute
- Next
- Leave the Install UI Sequence alone
- Leave the Install UI Condition alone
- Change the Install Execute Sequence to after "Remove Existing Products"
- Change the Install Execute Sequence to "Not Installed" no quotes
Try that out, let me know
Posted by:
xxLucidxx
18 years ago
Great instructions, I follwed them to the letter (I assumed that you meant change install execute condition when you wrote "Change the Install Execute Sequence to "Not Installed" no quotes")
Unfortunetly I am getting an error during the install:
"internal error 2335 A:\java\jre 5.0 Update 7, c:\windows\installer"
Here's the last chunk of the log (please let me know if you want all of it):
MSI (s) (6C:60) [11:45:58:820]: Doing action: RegisterTypeLibraries
Action ended 11:45:58: InstallODBC. Return value 0.
MSI (s) (6C:60) [11:45:58:820]: Note: 1: 2262 2: TypeLib 3: -2147287038
Action start 11:45:58: RegisterTypeLibraries.
MSI (s) (6C:60) [11:45:58:820]: Doing action: RegisterComPlus
Action ended 11:45:58: RegisterTypeLibraries. Return value 1.
MSI (s) (6C:60) [11:45:58:820]: Note: 1: 2262 2: Complus 3: -2147287038
Action start 11:45:58: RegisterComPlus.
MSI (s) (6C:60) [11:45:58:830]: Doing action: InstallServices
Action ended 11:45:58: RegisterComPlus. Return value 1.
MSI (s) (6C:60) [11:45:58:830]: Note: 1: 2262 2: ServiceInstall 3: -2147287038
Action start 11:45:58: InstallServices.
MSI (s) (6C:60) [11:45:58:830]: Doing action: StartServices
Action ended 11:45:58: InstallServices. Return value 1.
MSI (s) (6C:60) [11:45:58:830]: Note: 1: 2262 2: ServiceControl 3: -2147287038
Action start 11:45:58: StartServices.
MSI (s) (6C:60) [11:45:58:840]: Doing action: SelfRegModules
Action ended 11:45:58: StartServices. Return value 1.
MSI (s) (6C:60) [11:45:58:840]: Note: 1: 2262 2: SelfReg 3: -2147287038
Action start 11:45:58: SelfRegModules.
MSI (s) (6C:60) [11:45:58:840]: Doing action: RegisterUser
Action ended 11:45:58: SelfRegModules. Return value 1.
Action start 11:45:58: RegisterUser.
MSI (s) (6C:60) [11:45:58:840]: Doing action: RegisterProduct
Action ended 11:45:58: RegisterUser. Return value 0.
Action start 11:45:58: RegisterProduct.
MSI (s) (6C:60) [11:45:58:850]: Doing action: PublishComponents
Action ended 11:45:58: RegisterProduct. Return value 1.
MSI (s) (6C:60) [11:45:58:850]: Note: 1: 2262 2: PublishComponent 3: -2147287038
Action start 11:45:58: PublishComponents.
MSI (s) (6C:60) [11:45:58:850]: Doing action: MsiPublishAssemblies
Action ended 11:45:58: PublishComponents. Return value 1.
Action start 11:45:58: MsiPublishAssemblies.
MSI (s) (6C:60) [11:45:58:860]: Doing action: PublishFeatures
Action ended 11:45:58: MsiPublishAssemblies. Return value 1.
Action start 11:45:58: PublishFeatures.
MSI (s) (6C:60) [11:45:58:860]: Doing action: PublishProduct
Action ended 11:45:58: PublishFeatures. Return value 1.
Action start 11:45:58: PublishProduct.
MSI (s) (6C:60) [11:45:58:870]: Note: 1: 2335 2: A:\Java\JRE 5.0 Update 7\ 3: C:\WINDOWS\Installer\
DEBUG: Error 2335: Path: A:\Java\JRE 5.0 Update 7\ is not a parent of C:\WINDOWS\Installer\
MSI (s) (6C:60) [13:15:20:900]: Product: Java 2 Runtime Environment, SE v1.4.2_12 -- Internal Error 2335. A:\Java\JRE 5.0 Update 7\, C:\WINDOWS\Installer\
MSI (c) (E8:FC) [11:45:58:880]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (s) (6C:60) [13:15:20:960]: Machine policy value 'DisableRollback' is 0
MSI (s) (6C:60) [13:15:20:960]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (6C:60) [13:15:20:960]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (6C:60) [13:15:20:960]: Calling SRSetRestorePoint API. dwRestorePtType: 13, dwEventType: 103, llSequenceNumber: 345, szDescription: "".
MSI (s) (6C:60) [13:15:21:200]: The call to SRSetRestorePoint API succeeded. Returned status: 0.
MSI (s) (6C:60) [13:15:21:200]: Unlocking Server
Action ended 13:15:20: PublishProduct. Return value 3.
Action ended 13:15:21: INSTALL. Return value 3.
MSI (s) (6C:60) [13:15:21:230]: Attempting to delete file C:\WINDOWS\Installer\f0b31.mst
MSI (s) (6C:60) [13:15:21:230]: Unable to delete the file. LastError = 32
MSI (s) (6C:28) [13:15:21:291]: Transforming table InstallExecuteSequence.
Action ended 13:15:21: RemOldJava. Return value 3.
Action ended 13:15:21: INSTALL. Return value 3.
MSI (s) (6C:28) [13:15:21:301]: Note: 1: 1708
MSI (s) (6C:28) [13:15:21:301]: Product: J2SE Runtime Environment 5.0 Update 7 -- Installation operation failed.
MSI (s) (6C:28) [13:15:21:301]: Attempting to delete file C:\WINDOWS\Installer\f0b2e.mst
MSI (s) (6C:28) [13:15:21:301]: Unable to delete the file. LastError = 32
MSI (s) (6C:28) [13:15:21:311]: Cleaning up uninstalled install packages, if any exist
MSI (s) (6C:28) [13:15:21:311]: MainEngineThread is returning 1603
MSI (s) (6C:94) [13:15:21:371]: Destroying RemoteAPI object.
MSI (s) (6C:D0) [13:15:21:441]: Custom Action Manager thread ending.
=== Logging stopped: 21/06/2006 13:15:21 ===
MSI (c) (E8:04) [13:15:21:441]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (E8:04) [13:15:21:441]: MainEngineThread is returning 1603
=== Verbose logging stopped: 21/06/2006 13:15:21 ===
Any thoughts on what's happenining?
Unfortunetly I am getting an error during the install:
"internal error 2335 A:\java\jre 5.0 Update 7, c:\windows\installer"
Here's the last chunk of the log (please let me know if you want all of it):
MSI (s) (6C:60) [11:45:58:820]: Doing action: RegisterTypeLibraries
Action ended 11:45:58: InstallODBC. Return value 0.
MSI (s) (6C:60) [11:45:58:820]: Note: 1: 2262 2: TypeLib 3: -2147287038
Action start 11:45:58: RegisterTypeLibraries.
MSI (s) (6C:60) [11:45:58:820]: Doing action: RegisterComPlus
Action ended 11:45:58: RegisterTypeLibraries. Return value 1.
MSI (s) (6C:60) [11:45:58:820]: Note: 1: 2262 2: Complus 3: -2147287038
Action start 11:45:58: RegisterComPlus.
MSI (s) (6C:60) [11:45:58:830]: Doing action: InstallServices
Action ended 11:45:58: RegisterComPlus. Return value 1.
MSI (s) (6C:60) [11:45:58:830]: Note: 1: 2262 2: ServiceInstall 3: -2147287038
Action start 11:45:58: InstallServices.
MSI (s) (6C:60) [11:45:58:830]: Doing action: StartServices
Action ended 11:45:58: InstallServices. Return value 1.
MSI (s) (6C:60) [11:45:58:830]: Note: 1: 2262 2: ServiceControl 3: -2147287038
Action start 11:45:58: StartServices.
MSI (s) (6C:60) [11:45:58:840]: Doing action: SelfRegModules
Action ended 11:45:58: StartServices. Return value 1.
MSI (s) (6C:60) [11:45:58:840]: Note: 1: 2262 2: SelfReg 3: -2147287038
Action start 11:45:58: SelfRegModules.
MSI (s) (6C:60) [11:45:58:840]: Doing action: RegisterUser
Action ended 11:45:58: SelfRegModules. Return value 1.
Action start 11:45:58: RegisterUser.
MSI (s) (6C:60) [11:45:58:840]: Doing action: RegisterProduct
Action ended 11:45:58: RegisterUser. Return value 0.
Action start 11:45:58: RegisterProduct.
MSI (s) (6C:60) [11:45:58:850]: Doing action: PublishComponents
Action ended 11:45:58: RegisterProduct. Return value 1.
MSI (s) (6C:60) [11:45:58:850]: Note: 1: 2262 2: PublishComponent 3: -2147287038
Action start 11:45:58: PublishComponents.
MSI (s) (6C:60) [11:45:58:850]: Doing action: MsiPublishAssemblies
Action ended 11:45:58: PublishComponents. Return value 1.
Action start 11:45:58: MsiPublishAssemblies.
MSI (s) (6C:60) [11:45:58:860]: Doing action: PublishFeatures
Action ended 11:45:58: MsiPublishAssemblies. Return value 1.
Action start 11:45:58: PublishFeatures.
MSI (s) (6C:60) [11:45:58:860]: Doing action: PublishProduct
Action ended 11:45:58: PublishFeatures. Return value 1.
Action start 11:45:58: PublishProduct.
MSI (s) (6C:60) [11:45:58:870]: Note: 1: 2335 2: A:\Java\JRE 5.0 Update 7\ 3: C:\WINDOWS\Installer\
DEBUG: Error 2335: Path: A:\Java\JRE 5.0 Update 7\ is not a parent of C:\WINDOWS\Installer\
MSI (s) (6C:60) [13:15:20:900]: Product: Java 2 Runtime Environment, SE v1.4.2_12 -- Internal Error 2335. A:\Java\JRE 5.0 Update 7\, C:\WINDOWS\Installer\
MSI (c) (E8:FC) [11:45:58:880]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
MSI (s) (6C:60) [13:15:20:960]: Machine policy value 'DisableRollback' is 0
MSI (s) (6C:60) [13:15:20:960]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (6C:60) [13:15:20:960]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (6C:60) [13:15:20:960]: Calling SRSetRestorePoint API. dwRestorePtType: 13, dwEventType: 103, llSequenceNumber: 345, szDescription: "".
MSI (s) (6C:60) [13:15:21:200]: The call to SRSetRestorePoint API succeeded. Returned status: 0.
MSI (s) (6C:60) [13:15:21:200]: Unlocking Server
Action ended 13:15:20: PublishProduct. Return value 3.
Action ended 13:15:21: INSTALL. Return value 3.
MSI (s) (6C:60) [13:15:21:230]: Attempting to delete file C:\WINDOWS\Installer\f0b31.mst
MSI (s) (6C:60) [13:15:21:230]: Unable to delete the file. LastError = 32
MSI (s) (6C:28) [13:15:21:291]: Transforming table InstallExecuteSequence.
Action ended 13:15:21: RemOldJava. Return value 3.
Action ended 13:15:21: INSTALL. Return value 3.
MSI (s) (6C:28) [13:15:21:301]: Note: 1: 1708
MSI (s) (6C:28) [13:15:21:301]: Product: J2SE Runtime Environment 5.0 Update 7 -- Installation operation failed.
MSI (s) (6C:28) [13:15:21:301]: Attempting to delete file C:\WINDOWS\Installer\f0b2e.mst
MSI (s) (6C:28) [13:15:21:301]: Unable to delete the file. LastError = 32
MSI (s) (6C:28) [13:15:21:311]: Cleaning up uninstalled install packages, if any exist
MSI (s) (6C:28) [13:15:21:311]: MainEngineThread is returning 1603
MSI (s) (6C:94) [13:15:21:371]: Destroying RemoteAPI object.
MSI (s) (6C:D0) [13:15:21:441]: Custom Action Manager thread ending.
=== Logging stopped: 21/06/2006 13:15:21 ===
MSI (c) (E8:04) [13:15:21:441]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (E8:04) [13:15:21:441]: MainEngineThread is returning 1603
=== Verbose logging stopped: 21/06/2006 13:15:21 ===
Any thoughts on what's happenining?
Posted by:
turbokitty
18 years ago
Hi, I've looked into this further (and tested it) and it seems that you can't do this silently. When I've used this in the past, it was for desktop support, using the UI sequence. You'd have to use the UI sequence for the custom action for this to work as MSIEXEC won't allow enough processes to run to do two installs at the same time silently.
You'll have to use your deployment tool to call the uninstall if the major upgrade path isn't working for you. Can't you remove the package from policy before assigning the new one or were they installed manually?
This is a dilly of a pickle. GPO really blows. How about a login script?
You'll have to use your deployment tool to call the uninstall if the major upgrade path isn't working for you. Can't you remove the package from policy before assigning the new one or were they installed manually?
This is a dilly of a pickle. GPO really blows. How about a login script?
Posted by:
xxLucidxx
18 years ago
Alas the old versions were installed manually. This whole exercise was to remove all the previous versions and then bring java under management.
Any thoughts on attempting to do it via major upgrade? Can you walk me through how to try to make that happen? I was just really using trial and error.
Otherwise, it sounds like login scrips will be the way to go... I'll be happy when I get this environment under control.
Any thoughts on attempting to do it via major upgrade? Can you walk me through how to try to make that happen? I was just really using trial and error.
Otherwise, it sounds like login scrips will be the way to go... I'll be happy when I get this environment under control.
Posted by:
MSIMaker
18 years ago
ORIGINAL: xxLucidxx
Alas the old versions were installed manually. This whole exercise was to remove all the previous versions and then bring java under management.
Any thoughts on attempting to do it via major upgrade? Can you walk me through how to try to make that happen? I was just really using trial and error.
Otherwise, it sounds like login scrips will be the way to go... I'll be happy when I get this environment under control.
You do realise that that you can run them side by side don't you? You do not have to remove the old version as multiple Java versions can sit on one box without an issue.
The only thing you may need to do is to change a registry key that sets the version for IE to use. All other apps will use the version they are written for.
Posted by:
turbokitty
18 years ago
Posted by:
MSIMaker
18 years ago
ORIGINAL: turbokitty
I don't know about that.. I've seen multiple Java's cause lots of issues with apps that weren't well written.
xxLucidxx, send me a private message through the board and I'll send you a training document that will help you out with upgrades and other issues.
I have too Turbo....The Avaya Suite is one in particular.....it needs its own Java version or it won't work properly.
Most Java apps though will actually look for their Java root and work ok....Some badly written ones will of course be a headache.
Posted by:
xxLucidxx
18 years ago
MSI,
I have read you can have multiple versions, and as turbo and you have both noticed, I have ran into the odd problem with some poorly written apps.
I'm still open to suggestions from anyone on how to get this sucker done. But I'm guessing the easiest thing to do is use login scripts.
There is one question however, I'm thinking what I will do is deploy the Java 1.5 via GPO one day and then augment the login scripts to remove the older versions for the next day. Any thoughts on the possiblilities that uninstalling and old version might corrupt the newer version?
Also, if anyone can recommend a good CHEAP app to replace GPO for this stuff please let me know, the issue here is that we are a small shop so I won't have any luck getting the powers that be to fork over alot of cash for the standard solutions.
Thanks for the help turbo, msi, and anyone else who wants to get into the frey.
I have read you can have multiple versions, and as turbo and you have both noticed, I have ran into the odd problem with some poorly written apps.
I'm still open to suggestions from anyone on how to get this sucker done. But I'm guessing the easiest thing to do is use login scripts.
There is one question however, I'm thinking what I will do is deploy the Java 1.5 via GPO one day and then augment the login scripts to remove the older versions for the next day. Any thoughts on the possiblilities that uninstalling and old version might corrupt the newer version?
Also, if anyone can recommend a good CHEAP app to replace GPO for this stuff please let me know, the issue here is that we are a small shop so I won't have any luck getting the powers that be to fork over alot of cash for the standard solutions.
Thanks for the help turbo, msi, and anyone else who wants to get into the frey.
Posted by:
MSIMaker
18 years ago
xxLucidxx
You could always make a "Clean Out" msi nad deploy it.
Take your original Java msi and copy it to another name. Open the wsi or msi and then change all of the files and registry keys from Install to Remove.
When it installs it will remove all of the old keys it originally installed.
It won't remove the system Installer keys and they will be orphaned but at least you have gotten rid of the old version.
You could always make a "Clean Out" msi nad deploy it.
Take your original Java msi and copy it to another name. Open the wsi or msi and then change all of the files and registry keys from Install to Remove.
When it installs it will remove all of the old keys it originally installed.
It won't remove the system Installer keys and they will be orphaned but at least you have gotten rid of the old version.
Posted by:
xxLucidxx
18 years ago
Posted by:
nheim
18 years ago
Hi folks,
the upgrade of the Java MSI's fails due to two reasons:
First, Sun doesn't populate the upgrade table of all MSI's so far.
Second, Sun doesn't respect the guidelines to populate the 'ProductVersion' property! They do it like this: 1.4.2_01
This mixes up the version value in the registry thoroughly. But unfortunately this one is being checked during an upgrade.
Excerpt from the Installer SDK docu:
----
ProductVersion property
The format of the string is as follows:
major.minor.build
The first field is the major version and has a maximum value of 255. The second field is the minor version and has a maximum value of 255. The third field is called the build version or the update version and has a maximum value of 65,535.
------
Example from 1.4.2.01:
[HKEY_CLASSES_ROOT\Installer\Products\{PackedGUID}]
"ProductName"="Java 2 Runtime Environment, SE v1.4.2_01"
"Version"=dword:81040000
This resolves to 129.4.0!
With a line like this:
{7148F0A7-6813-11D6-A77B-00B0D0142010} 0.0.0 130.0.0 4 UPGRADE2
the uninstall of the version 1.4.2.01 should work.
Because Sun puts a new UpgradeCode on each new release, the version isn't that important in the upgrade process.
For all the versions from 1.4.0 upwards this should work likewise.
Hope this helps.
Regards, Nick
the upgrade of the Java MSI's fails due to two reasons:
First, Sun doesn't populate the upgrade table of all MSI's so far.
Second, Sun doesn't respect the guidelines to populate the 'ProductVersion' property! They do it like this: 1.4.2_01
This mixes up the version value in the registry thoroughly. But unfortunately this one is being checked during an upgrade.
Excerpt from the Installer SDK docu:
----
ProductVersion property
The format of the string is as follows:
major.minor.build
The first field is the major version and has a maximum value of 255. The second field is the minor version and has a maximum value of 255. The third field is called the build version or the update version and has a maximum value of 65,535.
------
Example from 1.4.2.01:
[HKEY_CLASSES_ROOT\Installer\Products\{PackedGUID}]
"ProductName"="Java 2 Runtime Environment, SE v1.4.2_01"
"Version"=dword:81040000
This resolves to 129.4.0!
With a line like this:
{7148F0A7-6813-11D6-A77B-00B0D0142010} 0.0.0 130.0.0 4 UPGRADE2
the uninstall of the version 1.4.2.01 should work.
Because Sun puts a new UpgradeCode on each new release, the version isn't that important in the upgrade process.
For all the versions from 1.4.0 upwards this should work likewise.
Hope this helps.
Regards, Nick
Posted by:
TWGTech
17 years ago
I think that the real issue with GPO is that it is not controlling your initial install. It is really a great deployment tool (so long as companies actually code to the .MSI guidelines, but that's not GPO's fault, either).
You can deploy your current version with GPO. This will bring all systems under policy control. Then you can add an upgrade package to the current policy, and tell it to uninstall the original version first.
You can deploy your current version with GPO. This will bring all systems under policy control. Then you can add an upgrade package to the current policy, and tell it to uninstall the original version first.
Posted by:
nheim
17 years ago
Posted by:
TWGTech
17 years ago
While GPO was never the initial subject, xxLucidxx did ask about replacements for it, and stated that he was having issues with it. I simply explained that there was a way to bring unmanaged installs under control, and that by doing so, it eased the pain of a stated issue - "Unfortunetly, we only have active directory at our disposal here. So I wanted to assign it via group policy."
I don't see how that adds confusion, but rather clears up how to leverage the capabilities of the deployment tool he has. I guess "good reason" is in the eye of the reader.
Apologies for that. Perhaps I need to send future posts to you for prior approval.
I don't see how that adds confusion, but rather clears up how to leverage the capabilities of the deployment tool he has. I guess "good reason" is in the eye of the reader.
Apologies for that. Perhaps I need to send future posts to you for prior approval.
Posted by:
nheim
17 years ago
Posted by:
TWGTech
17 years ago
Your first response was a bit brusque, which elicited my response.
I found this particular post by searching for an issue I was having, not by browsing the forums. The data I found here, while not relevant to my issue, is still valid information. I do not think that a timestamp relegates anything into the "useless" pile in our profession.
I often find resolutions for issues that I am currently having in posts that are several years old. Simply because I did not experience the same issue at the same time does not mean the resolution is moot, or that relevant data cannot be added.
I know that many of us are being told to do more with less, and that sometimes means dusting off the old toolbox and resurrecting items that were once thought to be defunct. This in and of itself makes old data useful.
That being said, I will not post to this thread anymore, and I will endeavor to be more aware of my postings in the future.
I found this particular post by searching for an issue I was having, not by browsing the forums. The data I found here, while not relevant to my issue, is still valid information. I do not think that a timestamp relegates anything into the "useless" pile in our profession.
I often find resolutions for issues that I am currently having in posts that are several years old. Simply because I did not experience the same issue at the same time does not mean the resolution is moot, or that relevant data cannot be added.
I know that many of us are being told to do more with less, and that sometimes means dusting off the old toolbox and resurrecting items that were once thought to be defunct. This in and of itself makes old data useful.
That being said, I will not post to this thread anymore, and I will endeavor to be more aware of my postings in the future.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.