37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
${SegmentFile}
|
|
|
|
${Segment.OnInit}
|
|
; Borrowed the following from PAL 2.2, Remove on release of PAL 2.2
|
|
; Work out if it's 64-bit or 32-bit
|
|
System::Call kernel32::GetCurrentProcess()i.s
|
|
System::Call kernel32::IsWow64Process(is,*i.r0)
|
|
${If} $0 == 0
|
|
StrCpy $Bits 32
|
|
Rename "$EXEDIR\App\7-Zip64\Lang" "$EXEDIR\App\7-Zip\Lang"
|
|
${Else}
|
|
StrCpy $Bits 64
|
|
Rename "$EXEDIR\App\7-Zip\Lang" "$EXEDIR\App\7-Zip64\Lang"
|
|
${EndIf}
|
|
!macroend
|
|
|
|
${SegmentInit}
|
|
${If} $Bits = 64
|
|
${SetEnvironmentVariablesPath} FullAppDir "$EXEDIR\App\7-Zip64"
|
|
${Else}
|
|
${SetEnvironmentVariablesPath} FullAppDir "$EXEDIR\App\7-Zip"
|
|
${EndIf}
|
|
!macroend
|
|
|
|
${SegmentPre}
|
|
${Registry::StrToHex} ":" $9 ;$9 now contains the ASCII code for :
|
|
ExpandEnvStrings $0 "%PAL:Drive%"
|
|
${Registry::StrToHex} $0 $1 ;$1 now contains the ASCII code for current drive
|
|
${WordReplace} $1 $9 "" "+" $2
|
|
|
|
ExpandEnvStrings $3 "%PAL:LastDrive%"
|
|
${Registry::StrToHex} $3 $4 ;$4 now contains the ASCII code for last drive
|
|
${WordReplace} $4 $9 "" "+" $5
|
|
|
|
System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("PAL:DriveHex", "$2").r0'
|
|
System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("PAL:LastDriveHex", "$5").r0'
|
|
!macroend |