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
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)
Please log in to answer
Posted by:
anonymous_9363
14 years ago
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'.
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
Posted by:
anonymous_9363
14 years ago
Posted by:
Rickard
14 years ago
Posted by:
elgwhoppo
14 years ago
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.
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
Posted by:
t_claydon
14 years ago
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
Posted by:
anonymous_9363
14 years ago
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.