Bug 1485484 - Always fill in the optional third parameter to ApplicationID::Set. r=agashlin

In theory, the third parameter (dualMode) to the NSIS ApplicationID plugin's
Set function is optional, but the plugin assumes that either it's there or
there's nothing else on the NSIS stack, so it pops three items from the stack
unconditionally. This means that supplying only two parameters results in
one item silently being dropped from the NSIS stack. Fortunately this one
function is the only place where we were doing that, so it only became a
problem if there were an awful lot of shortcuts (around 7) to the same
installation.

Differential Revision: https://phabricator.services.mozilla.com/D4009

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Matt Howell 2018-08-22 20:38:12 +00:00
parent c0b13f02f6
commit 58a8107c16

View File

@ -7036,7 +7036,7 @@
Pop $R4
${GetLongPath} "$R4" $R4
${If} "$R4" == "$R9" ; link path == install path
ApplicationID::Set "$SMPROGRAMS\$R5" "$R8"
ApplicationID::Set "$SMPROGRAMS\$R5" "$R8" "true"
Pop $R4
${EndIf}
${EndIf}
@ -7057,7 +7057,7 @@
Pop $R4
${GetLongPath} "$R4" $R4
${If} "$R4" == "$R9" ; link path == install path
ApplicationID::Set "$QUICKLAUNCH\$R5" "$R8"
ApplicationID::Set "$QUICKLAUNCH\$R5" "$R8" "true"
Pop $R4
${EndIf}
${EndIf}
@ -7083,7 +7083,7 @@
Pop $R4
${GetLongPath} "$R4" $R4
${If} "$R4" == "$R9" ; link path == install path
ApplicationID::Set "$R7\$R5" "$R8"
ApplicationID::Set "$R7\$R5" "$R8" "true"
Pop $R4
${EndIf}
${EndIf}
@ -7109,7 +7109,7 @@
ShellLink::GetShortCutTarget "$R7\TaskBar\$R5"
Pop $R4
${If} "$R4" == "$R9" ; link path == install path
ApplicationID::Set "$R7\TaskBar\$R5" "$R8"
ApplicationID::Set "$R7\TaskBar\$R5" "$R8" "true"
Pop $R4 ; pop Set result off the stack
StrCpy $R3 "true"
${EndIf}
@ -7129,7 +7129,7 @@
ShellLink::GetShortCutTarget "$R7\StartMenu\$R5"
Pop $R4
${If} "$R4" == "$R9" ; link path == install path
ApplicationID::Set "$R7\StartMenu\$R5" "$R8"
ApplicationID::Set "$R7\StartMenu\$R5" "$R8" "true"
Pop $R4 ; pop Set result off the stack
StrCpy $R3 "true"
${EndIf}