/build/static/layout/Breadcrumb_cap_w.png

Move around/shift sequence in InstallExecuteSequence

I have a "recipe" for deploying Java JRE with the "Java Quick Starter" service removed. This recipe requires me to insert, using a transform of course, a row in the InstallExecuteSequence table using Orca. The row I usually insert is:

ForceUninstallJQS NOT Installed 3184

I use the sequence number 3184 because it's the last available sequence number before InstallFinalize.

However, as I attempted to do this to the very latest Java JRE release, 6u18, I noticed that 3184 was in use. In other words, there is no longer an available sequence number between the InstallJava sequence and the InstallFinalize sequence. There are available numbers earlier in the sequence, but I'm not sure "how far back" I can insert the action to uninstall JQS.

Is it safe to edit the sequence numbers to make room for my little insertion, provided I keep things in the same sequence?

If not, what do you recommend I do?

Cheers,
Rickard

0 Comments   [ + ] Show comments

Answers (9)

Posted by: anonymous_9363 14 years ago
Red Belt
0
3183 will do! It is, after all, just a sequence for the installer engine to use to schedule the actions when it's compiling its internal script.

BTW, would it not be neater to condition-out the component which installs JQS in the first place? Use an impossible-to-meet condition: I normally go for '0=1'.
Posted by: Rickard 14 years ago
Senior Yellow Belt
0
So having more than one entry with the same sequence number is fine?

Simply conditioning-out the install of JQS would be preferable, but I can't seem to find it anywhere in the sequence.
Posted by: anonymous_9363 14 years ago
Red Belt
0
No, sequence numbers need to be unique. Just make it one less than that of the sequence number of the last action (probably InstallFinalize).
Posted by: Rickard 14 years ago
Senior Yellow Belt
0
Yes, but the previous sequence number aren't free. I took a screenshot to illustrate what I mean:

http://rickardandersson.com/drop/orca_java.png
Posted by: elgwhoppo 14 years ago
Senior Purple Belt
0
I seem to remember this happening within Wise Package Studio when I used the up/down arrows to move actions around within the InstallExecuteSequence, it put them numerically sequential all right next to each other. I ended up restoring to one of my backups and just editing the sequence number.

For your case, apart from changing every sequence number after 3184 would be the only way I'd see to do it. This is precisely why the defaults for actions are at least 10 apart sequentially.

Is there any reason you're not just editing the following registry key in your transform?

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\JavaQuickStarterService
DWORD: Start
Value: 4

That will set the service to "disabled" status. Problem fixed forever.
Posted by: Rickard 14 years ago
Senior Yellow Belt
0
Ok, then I think I'll just edit the sequence numbers after 3184 for now.

I guess disabling the service would work, but I'm not sure how to do that. Also, wouldn't I have the same problem there?
Posted by: t_claydon 14 years ago
Senior Yellow Belt
0
This is an section of a larger script I wrote to fix Ice Errors so you might need to jig it around but it resquences the sequence tables:



Const msiOpenDatabaseModeTransact = 1

Dim database1 : Set database1 = installer.OpenDatabase("W:\Projects\XP\32\HYSY06_9975_00A\HYSY06_9975_00A.MSI", msiOpenDatabaseModeTransact)

REM ******************************************************************************************
REM ******************************************************************************************
REM * Fix ICE82 Duplicate sequence numbers
REM ******************************************************************************************
REM ******************************************************************************************
FixSequence("AdvtExecuteSequence")
FixSequence("AdvtUISequence")
FixSequence("InstallExecuteSequence")
FixSequence("InstallUISequence")
FixSequence("AdminExecuteSequence")
FixSequence("AdminUISequence")


SUB FixSequence(TableName)
DIM Sequence,SequenceView,SequenceRecord

SET SequenceView = database1.OpenView("Select * FROM `"+TableName+"` ORDER BY `Sequence`")
SequenceView.Execute
Sequence=10
DO
SET SequenceRecord=SequenceView.Fetch
IF SequenceRecord is Nothing Then Exit Do
IF SequenceRecord.IntegerData(3)>0 THEN
SequenceRecord.IntegerData(3)=Sequence
SequenceView.Modify 4,SequenceRecord
Sequence=Sequence+10
END IF
LOOP
database1.Commit
END SUB

Posted by: Rickard 14 years ago
Senior Yellow Belt
0
Thanks for the script, but I'm not sure this is something I want to do. I'm just trying to make a simple transform for the stock Java 1.6u18 MSI (the screenshot is from that MSI). Resequencing the whole table would lead to a much larger transform.
Posted by: anonymous_9363 14 years ago
Red Belt
0
I seem to remember this happening within Wise Package StudioIt does the same when you cut-and-paste. Sometimes. That bug is yet another which has been around since 5.6 (the first version I began to use in earnest) and was reported then. Needless to say, it's still present.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ