-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
Copy pathextractAppPackage.nsh
91 lines (80 loc) · 1.92 KB
/
extractAppPackage.nsh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
!macro extractEmbeddedAppPackage
!ifdef COMPRESS
SetCompress off
!endif
Var /GLOBAL packageArch
!ifdef APP_64
!ifdef APP_ARM64
StrCpy $packageArch "ARM64"
!else
StrCpy $packageArch "64"
!endif
!insertmacro compute_files_for_current_arch
!else
!insertmacro ia32_app_files
!endif
!ifdef COMPRESS
SetCompress "${COMPRESS}"
!endif
!ifdef ZIP_COMPRESSION
nsisunz::Unzip "$PLUGINSDIR\app-$packageArch.zip" "$INSTDIR"
!else
!insertmacro extractUsing7za "$PLUGINSDIR\app-$packageArch.7z"
!endif
# after decompression
${if} $packageArch == "ARM64"
!ifmacrodef customFiles_arm64
!insertmacro customFiles_arm64
!endif
${elseif} $packageArch == "64"
!ifmacrodef customFiles_x64
!insertmacro customFiles_x64
!endif
${else}
!ifmacrodef customFiles_ia32
!insertmacro customFiles_ia32
!endif
${endIf}
!macroend
!macro compute_files_for_current_arch
!ifdef APP_32
!ifdef APP_ARM64
${if} ${IsNativeARM64}
!insertmacro arm64_app_files
${elseif} ${RunningX64}
!insertmacro x64_app_files
${else}
!insertmacro ia32_app_files
${endIf}
!else
${if} ${RunningX64}
!insertmacro x64_app_files
${else}
!insertmacro ia32_app_files
${endIf}
!endif
!else
!ifdef APP_ARM64
${if} ${IsNativeARM64}
!insertmacro arm64_app_files
${else}
!insertmacro x64_app_files
${endIf}
!else
!insertmacro x64_app_files
!endif
!endif
!macroend
!macro arm64_app_files
File /oname=$PLUGINSDIR\app-arm64.${COMPRESSION_METHOD} "${APP_ARM64}"
!macroend
!macro x64_app_files
File /oname=$PLUGINSDIR\app-64.${COMPRESSION_METHOD} "${APP_64}"
!macroend
!macro ia32_app_files
StrCpy $packageArch "32"
File /oname=$PLUGINSDIR\app-32.${COMPRESSION_METHOD} "${APP_32}"
!macroend
!macro extractUsing7za FILE
Nsis7z::Extract "${FILE}"
!macroend