cross-packer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +151 -0
- package/README.zh-CN.md +151 -0
- package/dist/archive/ar.d.ts +12 -0
- package/dist/archive/seven-za.d.ts +32 -0
- package/dist/archive/tar.d.ts +30 -0
- package/dist/archive/zip-reader.d.ts +17 -0
- package/dist/asar/dependency/collect.d.ts +2 -0
- package/dist/asar/dependency/detector.d.ts +8 -0
- package/dist/asar/dependency/hoister.d.ts +27 -0
- package/dist/asar/dependency/utils.d.ts +59 -0
- package/dist/asar/fileset/matcher.d.ts +12 -0
- package/dist/asar/fileset/platform-fileset.d.ts +36 -0
- package/dist/asar/fileset/transformer.d.ts +2 -0
- package/dist/asar/fileset/unpack-detector.d.ts +10 -0
- package/dist/asar/fileset/walker.d.ts +14 -0
- package/dist/asar/pack.d.ts +23 -0
- package/dist/asar/packer/app-collector.d.ts +2 -0
- package/dist/asar/packer/collector.d.ts +18 -0
- package/dist/asar/packer/concurrency.d.ts +1 -0
- package/dist/asar/packer/integrity.d.ts +8 -0
- package/dist/asar/packer/nm-collector.d.ts +7 -0
- package/dist/asar/packer/stream-builder.d.ts +18 -0
- package/dist/cli.d.ts +2 -0
- package/dist/config/index.d.ts +97 -0
- package/dist/electron/dist-zip.d.ts +18 -0
- package/dist/electron/download.d.ts +21 -0
- package/dist/index.d.ts +11 -0
- package/dist/packer/common/app-update-yml.d.ts +5 -0
- package/dist/packer/common/extra-resources.d.ts +39 -0
- package/dist/packer/common/staging.d.ts +3 -0
- package/dist/packer/common/template.d.ts +2 -0
- package/dist/packer/linux/linux.d.ts +2 -0
- package/dist/packer/mac/mac.d.ts +23 -0
- package/dist/packer/win/nsis.d.ts +24 -0
- package/dist/packer/win/resedit.d.ts +5 -0
- package/dist/packer/win/toolchain.d.ts +8 -0
- package/dist/packer/win/win.d.ts +12 -0
- package/dist/pipeline/pipeline.d.ts +41 -0
- package/dist/pipeline/targets.d.ts +28 -0
- package/dist/shared/hash.d.ts +2 -0
- package/dist/shared/logger.d.ts +39 -0
- package/dist/shared/platform.d.ts +26 -0
- package/dist/shared/types.d.ts +68 -0
- package/dist/update/blockmap.d.ts +13 -0
- package/dist/update/metadata.d.ts +20 -0
- package/dist/update/version.d.ts +7 -0
- package/package.json +71 -0
- package/src/archive/ar.ts +41 -0
- package/src/archive/seven-za.ts +160 -0
- package/src/archive/tar.ts +142 -0
- package/src/archive/zip-reader.ts +61 -0
- package/src/asar/dependency/collect.ts +437 -0
- package/src/asar/dependency/detector.ts +73 -0
- package/src/asar/dependency/hoister.ts +714 -0
- package/src/asar/dependency/utils.ts +225 -0
- package/src/asar/fileset/matcher.ts +101 -0
- package/src/asar/fileset/platform-fileset.ts +416 -0
- package/src/asar/fileset/transformer.ts +154 -0
- package/src/asar/fileset/unpack-detector.ts +38 -0
- package/src/asar/fileset/walker.ts +115 -0
- package/src/asar/pack.ts +186 -0
- package/src/asar/packer/app-collector.ts +74 -0
- package/src/asar/packer/collector.ts +134 -0
- package/src/asar/packer/concurrency.ts +24 -0
- package/src/asar/packer/integrity.ts +53 -0
- package/src/asar/packer/nm-collector.ts +194 -0
- package/src/asar/packer/stream-builder.ts +723 -0
- package/src/cli.ts +182 -0
- package/src/config/index.ts +365 -0
- package/src/electron/dist-zip.ts +65 -0
- package/src/electron/download.ts +121 -0
- package/src/index.ts +14 -0
- package/src/packer/common/app-update-yml.ts +21 -0
- package/src/packer/common/extra-resources.ts +83 -0
- package/src/packer/common/staging.ts +33 -0
- package/src/packer/common/template.ts +24 -0
- package/src/packer/linux/linux.ts +329 -0
- package/src/packer/mac/mac.ts +495 -0
- package/src/packer/win/nsis.ts +244 -0
- package/src/packer/win/resedit.ts +60 -0
- package/src/packer/win/toolchain.ts +63 -0
- package/src/packer/win/win.ts +421 -0
- package/src/pipeline/pipeline.ts +149 -0
- package/src/pipeline/targets.ts +67 -0
- package/src/shared/hash.ts +15 -0
- package/src/shared/logger.ts +91 -0
- package/src/shared/platform.ts +41 -0
- package/src/shared/types.ts +82 -0
- package/src/update/blockmap.ts +247 -0
- package/src/update/metadata.ts +97 -0
- package/src/update/version.ts +59 -0
- package/templates/linux/app.desktop +11 -0
- package/templates/linux/control +9 -0
- package/templates/linux/postinst +10 -0
- package/templates/linux/postrm +8 -0
- package/templates/linux/preinst +49 -0
- package/templates/linux/prerm +43 -0
- package/templates/mac/Info.plist +18 -0
- package/templates/mac/app-update.yml +4 -0
- package/templates/win/nsis/README.md +51 -0
- package/templates/win/nsis/THIRD-PARTY-NOTICES.md +20 -0
- package/templates/win/nsis/assistedInstaller.nsh +154 -0
- package/templates/win/nsis/assistedMessages.yml +368 -0
- package/templates/win/nsis/common.nsh +147 -0
- package/templates/win/nsis/empty-license.txt +1 -0
- package/templates/win/nsis/include/FileAssociation.nsh +123 -0
- package/templates/win/nsis/include/StdUtils.nsh +496 -0
- package/templates/win/nsis/include/StrContains.nsh +48 -0
- package/templates/win/nsis/include/UAC.nsh +299 -0
- package/templates/win/nsis/include/allowOnlyOneInstallerInstance.nsh +164 -0
- package/templates/win/nsis/include/extractAppPackage.nsh +138 -0
- package/templates/win/nsis/include/getProcessInfo.nsh +157 -0
- package/templates/win/nsis/include/installUtil.nsh +248 -0
- package/templates/win/nsis/include/installer.nsh +247 -0
- package/templates/win/nsis/include/nsProcess.nsh +28 -0
- package/templates/win/nsis/include/webPackage.nsh +64 -0
- package/templates/win/nsis/installSection.nsh +110 -0
- package/templates/win/nsis/installer.nsi +132 -0
- package/templates/win/nsis/messages.yml +240 -0
- package/templates/win/nsis/multiUser.nsh +134 -0
- package/templates/win/nsis/multiUserUi.nsh +230 -0
- package/templates/win/nsis/oneClick.nsh +19 -0
- package/templates/win/nsis/portable.nsi +91 -0
- package/templates/win/nsis/uninstaller.nsh +263 -0
- package/templates/win/nsis-header.nsh +57 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
# assisted installer messages, see messages.yml for one-click installer messages
|
|
2
|
+
chooseInstallationOptions:
|
|
3
|
+
en: Choose Installation Options
|
|
4
|
+
de: Installationsoption wählen
|
|
5
|
+
ru: Выберите опции установки
|
|
6
|
+
sk: Vyberte možnosti inštalácie
|
|
7
|
+
cs: Vyberte možnosti instalace
|
|
8
|
+
fr: Choisis les options d'installation
|
|
9
|
+
hu_HU: Telepítési opciók kiválasztása
|
|
10
|
+
pt_BR: Escolha uma opção de instalação
|
|
11
|
+
zh_CN: 安装选项
|
|
12
|
+
zh_TW: 安裝選項
|
|
13
|
+
tr_TR: Yükleme Ayarlarını Seçin
|
|
14
|
+
sv_SE: Välj alternativ för installation
|
|
15
|
+
pl_PL: Wybierz opcje instalacji
|
|
16
|
+
no: Velg alternativer for installering
|
|
17
|
+
nl_NL: Kies installatie-opties
|
|
18
|
+
it_IT: Scegli opzioni di installazione
|
|
19
|
+
fi: Valitse asennusvaihtoehdot
|
|
20
|
+
es: Elegir opciones de instalación
|
|
21
|
+
da: Vælg Installeringsmuligheder
|
|
22
|
+
ja: インストールオプションの選択
|
|
23
|
+
ko: 설치 옵션 선택
|
|
24
|
+
chooseUninstallationOptions:
|
|
25
|
+
en: Choose Uninstallation Options
|
|
26
|
+
de: Deinstallationsoption wählen
|
|
27
|
+
ru: Выберите опции удаления
|
|
28
|
+
sk: Vyberte možnosti odinštalovania
|
|
29
|
+
cs: Vyberte možnosti odinstalace
|
|
30
|
+
fr: Choisis les options de désinstallation
|
|
31
|
+
hu_HU: Eltávolítási opciók kiválasztása
|
|
32
|
+
pt_BR: Escolha uma opção de desinstalação
|
|
33
|
+
zh_CN: 卸载选项
|
|
34
|
+
zh_TW: 解除安裝選項
|
|
35
|
+
tr_TR: Kaldırma Ayarlarını Seçin
|
|
36
|
+
sv_SE: Välj alternativ för avinstallation
|
|
37
|
+
pl_PL: Wybierz opcje dezinstalacji
|
|
38
|
+
no: Velg alternativer for avinstallering
|
|
39
|
+
nl_NL: Kies verwijderings-opties
|
|
40
|
+
it_IT: Scegli opzioni di disinstallazione
|
|
41
|
+
fi: Valitse asennuksen poistovaihtoehdot
|
|
42
|
+
es: Elegir opciones de desinstalación
|
|
43
|
+
da: Vælg Afinstalleringsmuligheder
|
|
44
|
+
ja: アンインストールオプションの選択
|
|
45
|
+
ko: 제거 옵션 선택
|
|
46
|
+
whichInstallationShouldBeRemoved:
|
|
47
|
+
en: Which installation should be removed?
|
|
48
|
+
de: Welche Installation soll entfernt werden?
|
|
49
|
+
ru: Какую из установленных программ следует удалить?
|
|
50
|
+
sk: Ktorá inštalácia by mala byt odstránená?
|
|
51
|
+
cs: Která instalace by měla být odstraněna?
|
|
52
|
+
fr: Quelle installation doit être supprimée ?
|
|
53
|
+
hu_HU: Melyik telepítést távolítsuk el?
|
|
54
|
+
pt_BR: Qual instalação deve ser removida?
|
|
55
|
+
zh_CN: 需要移除哪个安装?
|
|
56
|
+
zh_TW: 需要移除哪個安裝?
|
|
57
|
+
tr_TR: Hangi Yükleme Kaldırılsın?
|
|
58
|
+
sv_SE: Vilken installation ska tas bort?
|
|
59
|
+
pl_PL: Którą instalację chcesz usunąć?
|
|
60
|
+
no: Hvilken installasjon skal fjernes?
|
|
61
|
+
nl_NL: Welke installatie moet worden verwijderd?
|
|
62
|
+
it_IT: Quale installazione intendi rimuovere?
|
|
63
|
+
fi: Mikä asennus pitäisi poistaa?
|
|
64
|
+
es: ¿Qué tipo de instalación debe eliminarse?
|
|
65
|
+
da: Hvilken installering skal fjernes?
|
|
66
|
+
ja: どれをアンインストールしますか?
|
|
67
|
+
ko: 어떤 설치 버전을 제거할까요?
|
|
68
|
+
whoShouldThisApplicationBeInstalledFor:
|
|
69
|
+
en: Who should this application be installed for?
|
|
70
|
+
de: Für wen soll diese Anwendung installiert werden?
|
|
71
|
+
ru: Для кого следует установить это приложение?
|
|
72
|
+
sk: Pre koho sa ma táto aplikacia inštalovať?
|
|
73
|
+
cs: Pro koho se má tato aplikace instalovat?
|
|
74
|
+
fr: Pour qui cette application doit-elle être installée ?
|
|
75
|
+
hu_HU: Kinek legyen ez az alkalmazás telepítve?
|
|
76
|
+
pt_BR: Para quem esta aplicação deve ser instalada?
|
|
77
|
+
zh_CN: 为哪位用户安装该应用?
|
|
78
|
+
zh_TW: 需要為哪位使用者安裝該應用程式?
|
|
79
|
+
tr_TR: Bu Uygulama Kimler için Kurulsun?
|
|
80
|
+
sv_SE: Vem ska den här applikationen installeras för?
|
|
81
|
+
pl_PL: Dla kogo zainstalować tę aplikację?
|
|
82
|
+
no: Hvem skal dette programmet installeres for?
|
|
83
|
+
nl_NL: Voor wie moet deze applicatie worden geïnstalleerd?
|
|
84
|
+
it_IT: Per chi dovrebbe essere installata questa applicazione?
|
|
85
|
+
fi: Kenen käyttöön tämä sovellus pitäisi asentaa?
|
|
86
|
+
es: ¿Para quién se instalará esta aplicación?
|
|
87
|
+
da: Hvem skal denne applikation installeres til?
|
|
88
|
+
ja: どのユーザーにインストールしますか?
|
|
89
|
+
ko : 이 프로그램의 사용자는 누구인가요?
|
|
90
|
+
selectUserMode:
|
|
91
|
+
en: Please select whether you wish to make this software available to all users or just yourself
|
|
92
|
+
de: Bitte wählen Sie, ob Sie die Anwendung nur für sich oder für alle Benutzer installieren möchten.
|
|
93
|
+
ru: Выберите, хотите ли Вы сделать эту программу доступной для всех пользователей, или только для себя
|
|
94
|
+
sk: Prosím vyberte či sa ma tento softvér inštalovať len pre Vás alebo pre všetkých uživateľov
|
|
95
|
+
cs: Prosím vyberte, zda se má tento software instalovat jen pro Vás, nebo pro všechny uživatele
|
|
96
|
+
fr: "Choisis pour qui ce logiciel doit être accessible : pour tous les utilisateurs ou juste pour toi ?"
|
|
97
|
+
hu_HU: Válaszd ki, hogy a szoftver elérhető legyen-e minden felhasználó számára, vagy csak neked
|
|
98
|
+
pt_BR: Por favor, selecione se este software deve estar disponível apenas para você ou para todos usuários
|
|
99
|
+
zh_CN: 请选择为当前用户还是所有用户安装该软件
|
|
100
|
+
zh_TW: 請選擇為目前使用者還是所有使用者安裝該軟體
|
|
101
|
+
tr_TR: Lütfen bu yazılımı tüm kullanıcılar için mi yoksa sadece kendiniz mi kullanmak istediğinizi seçin
|
|
102
|
+
sv_SE: Välj om du vill göra den här mjukvaran tillgänglig för alla användare eller bara för dig
|
|
103
|
+
pl_PL: Wybierz, czy to oprogramowanie ma być dostępne dla wszystkich użytkowników, czy tylko dla Ciebie
|
|
104
|
+
no: Velg om du vil gjøre denne programvaren tilgjengelig for alle brukerne eller bare deg selv
|
|
105
|
+
nl_NL: Selecteer of je deze software beschikbaar wilt maken voor alle gebruikers of alleen voor jezelf.
|
|
106
|
+
it_IT: Seleziona se desideri rendere questo software accessibile a tutti gli utenti o solo a te
|
|
107
|
+
fi: Valitse, haluatko tämän ohjelmiston kaikkien käyttäjien vai pelkästään itsesi käyttöön
|
|
108
|
+
es: Elige si deseas que este software esté disponible para todos los usuarios o solo para ti.
|
|
109
|
+
da: Vælg, om du vil gøre denne software tilgængelig for andre brugere, eller kun for dig selv
|
|
110
|
+
ja: このソフトウェアをすべてのユーザーが使用できるようにするか、現在のユーザーのみ使用するかを選択してください
|
|
111
|
+
ko : 이 프로그램을 모든 사용자가 사용할 수 있도록 할 것인지 아니면 자신만 사용할 수 있도록 할 것인지 선택하십시오.
|
|
112
|
+
whichInstallationRemove:
|
|
113
|
+
en: This software is installed both per-machine (all users) and per-user.\nWhich installation you wish to remove?
|
|
114
|
+
de: Die Anwendung wurde für alle Benutzer und pro Benutzer installiert.\nWelche Installation möchten Sie entfernen?
|
|
115
|
+
ru: Эта программа установлена для всего компьютера (для всех пользователей) и для отдельного пользователя.\nКакую из установленных программ Вы хотите удалить?
|
|
116
|
+
sk: Tento softvér je nainštalovaný pre Vás a súčasne pre všetkých uživateľov.\nKtorú inštaláciu si želáte odstraniť?
|
|
117
|
+
cs: Tento software je nainstalovaný pro Vás a současně pro všechny uživatele.\nKterou instalaci si přejete odstranit?
|
|
118
|
+
fr: Ce logiciel est installé à la fois par machine (tous les utilisateurs) et par utilisateur.\nQuelle installation veux-tu supprimer ?
|
|
119
|
+
hu_HU: Ez a szoftver számítógépenként (minden felhasználó) és felhasználónként is telepítve van.\nMelyik telepítést szeretnéd eltávolítani?
|
|
120
|
+
pt_BR: Este software é instalado por máquina (todos os usuários) e por usuário. Qual instalação você deseja remover?
|
|
121
|
+
zh_CN: 该软件已为所有用户和当前用户安装.\n您希望移除哪个安装?
|
|
122
|
+
zh_TW: 該軟體已為所有使用者和目前使用者安裝。\n您希望移除哪一個?
|
|
123
|
+
tr_TR: Bu yazılım hem makine başına (tüm kullanıcılar) hem de kullanıcı başına yüklenir.\nKaldırmak istediğiniz kurulum?
|
|
124
|
+
sv_SE: Den här mjukvaran är installerad både ”per dator” (alla användare) och ”per användare”.\nVilken installation vill du ta bort?
|
|
125
|
+
pl_PL: To oprogramowanie zostało zainstalowane zarówno dla urządzenia (wszyscy użytkownicy), jak i dla użytkownika.\nKtórą instalację chcesz usunąć?
|
|
126
|
+
no: Denne programvaren er installert både per-maskin (alle brukere) og per-bruker. Hvilken installasjon vil du fjerne?
|
|
127
|
+
nl_NL: Deze software is zowel per apparaat (alle gebruikers) als per gebruiker geïnstalleerd. Welke installatie wil je verwijderen?
|
|
128
|
+
it_IT: Questo software è stato installato sia per computer (tutti gli utenti) sia per utente.\nQuale installazione desideri rimuovere?
|
|
129
|
+
fi: Tämä ohjelmisto on asennettu sekä konekohtaisesti (kaikki käyttäjät) että käyttäjäkohtaisesti.\nMinkä asennuksen haluat poistaa?
|
|
130
|
+
es: Este software se ha instalado para la máquina (todos los usuarios) y para el usuario.\n¿Qué instalación quieres eliminar?
|
|
131
|
+
da: Denne software er installeret både pr. maskine (alle brugere) og pr. bruger./nHvilken installering ønsker du at fjerne?
|
|
132
|
+
ja: このソフトウェアは、マシンごと(すべてのユーザー)とユーザーごとにインストールされています。\ nどちらを削除しますか?
|
|
133
|
+
ko: 이 프로그램은 시스템당(모든 사용자)또는 사용자별로 설치됩니다.\n어떤 설치를 제거하시겠습니까?
|
|
134
|
+
freshInstallForAll:
|
|
135
|
+
en: Fresh install for all users. (will prompt for admin credentials)
|
|
136
|
+
de: Neuinstallation für alle Benutzer durchführen. (Administratorrechte benötigt)
|
|
137
|
+
ru: Новая установка для всех пользователей. (Потребуются права администратора)
|
|
138
|
+
sk: Nová inštalácia pre všetkých uživateľov. (Bude potrebovať prihlásenie administrátora)
|
|
139
|
+
cs: Nová instalace pro všechny uživatele. (Bude vyžadovat přihlášení administrátora)
|
|
140
|
+
fr: Nouvelle installation pour tous les utilisateurs. (demandera les identifiants administrateur)
|
|
141
|
+
hu_HU: Új telepítés minden felhasználó számára. (Az adminisztrátor hitelesítő adataira lesz szükség.)
|
|
142
|
+
pt_BR: Instalação limpa para todos os usuários. (irá solicitar credenciais de administrador)
|
|
143
|
+
zh_CN: 为所有用户进行全新安装. (需要管理员资格)
|
|
144
|
+
zh_TW: 為所有使用者進行全新安裝 (需要系統管理員權限)
|
|
145
|
+
tr_TR: Tüm kullanıcılar için yeni yükleme. (yönetici kimlik bilgilerini soracaktır)
|
|
146
|
+
sv_SE: Ny installation för alla användare. (kommer att begära adminbehörighet)
|
|
147
|
+
pl_PL: Nowa instalacja dla wszystkich użytkowników (potrzebne będą dane administratora).
|
|
148
|
+
no: Ny installasjon for alle brukere. (vil be om administratorlegitimasjon)
|
|
149
|
+
nl_NL: Nieuwe installatie voor alle gebruikers. (zal om beheerder-gegevens vragen)
|
|
150
|
+
it_IT: Re-installa per tutti gli utenti. (Richiede le credenziali di amministratore)
|
|
151
|
+
fi: Uusi asennus kaikille käyttäjille (pyytää ylläpitäjän käyttäjätunnuksia)
|
|
152
|
+
es: Instalación nueva para todos los usuarios (se pedirán los credenciales del administrador)
|
|
153
|
+
da: Ny installering til alle brugere. (Vil medføre administrations-legitimationsoplysninger)
|
|
154
|
+
ja: すべてのユーザーに新規インストール(管理者権限が必要)
|
|
155
|
+
ko: 모든 사용자를 위해 새로 설치. (관리자 자격 증명을 묻는 메시지가 표시됨)
|
|
156
|
+
freshInstallForCurrent:
|
|
157
|
+
en: Fresh install for current user only.
|
|
158
|
+
de: Neuinstallation nur für den aktuellen Benutzer durchführen.
|
|
159
|
+
ru: Новая установка только для текущего пользователя.
|
|
160
|
+
cs: Nová instalace pro aktuálního uživatele.
|
|
161
|
+
fr: Nouvelle installation uniquement pour l'utilisateur actuel.
|
|
162
|
+
hu_HU: Új telepítés csak a jelenlegi felhasználó számára.
|
|
163
|
+
pt_BR: Instalação limpa somente para o usuário atual.
|
|
164
|
+
zh_CN: 仅为当前用户进行全新安装.
|
|
165
|
+
zh_TW: 僅為目前使用者進行全新安裝
|
|
166
|
+
tr_TR: Sadece mevcut kullanıcı için yeni yükleme.
|
|
167
|
+
sv_SE: Ny installation endast för den aktuella användaren.
|
|
168
|
+
pl_PL: Nowa instalacja wyłącznie dla obecnego użytkownika.
|
|
169
|
+
no: Ny installasjon kun for nåværende bruker.
|
|
170
|
+
nl_NL: Nieuwe installatie alleen voor huidige gebruiker.
|
|
171
|
+
it_IT: Re-installa solo per l'utente attuale.
|
|
172
|
+
fi: Uusi asennus vain nykyiselle käyttäjälle.
|
|
173
|
+
es: Instalación nueva solo para el usuario actual.
|
|
174
|
+
da: Ny installering kun til nuværende bruger.
|
|
175
|
+
ja: 現在のユーザーのみ新規インストール
|
|
176
|
+
ko: 현재 사용자만 새로 설치합니다.
|
|
177
|
+
onlyForMe:
|
|
178
|
+
en: Only for &me
|
|
179
|
+
de: Nur für &mich
|
|
180
|
+
ru: Только для &меня
|
|
181
|
+
sk: Iba pre mňa
|
|
182
|
+
cs: Pouze pro &mě
|
|
183
|
+
fr: Juste pour moi
|
|
184
|
+
hu_HU: Csak az én számomra
|
|
185
|
+
pt_BR: Apenas para &mim
|
|
186
|
+
zh_CN: 仅为我安装
|
|
187
|
+
zh_TW: 僅為我安裝
|
|
188
|
+
tr_TR: Sadece benim için
|
|
189
|
+
sv_SE: Endast för &mig
|
|
190
|
+
pl_PL: Tylko dla &mnie
|
|
191
|
+
no: Kun for &meg
|
|
192
|
+
nl_NL: Alleen voor &mij
|
|
193
|
+
it_IT: Solo per &me
|
|
194
|
+
fi: Vain minulle
|
|
195
|
+
es: Solo para mí.
|
|
196
|
+
da: Kun til mig
|
|
197
|
+
ja: 現在のユーザーのみにインストールする
|
|
198
|
+
ko: &me 전용
|
|
199
|
+
forAll:
|
|
200
|
+
en: Anyone who uses this computer (&all users)
|
|
201
|
+
de: Für alle Benutzer dieses Computers (&alle Benutzer)
|
|
202
|
+
ru: Для &всех пользователей данного компьютера
|
|
203
|
+
sk: Pre každého kto použiva tento počitač (všetci uživatelia)
|
|
204
|
+
cs: Pro každého, kdo používá tento počítač (všichni uživatelé)
|
|
205
|
+
fr: Pour tous ceux qui utilisent cet ordinateur (tous les utilisateurs)
|
|
206
|
+
hu_HU: Bárki számára, aki ezt a számítógépet használja (minden felhasználó)
|
|
207
|
+
pt_BR: Para todos que usam esta máquina (&todos os usuários)
|
|
208
|
+
zh_CN: 为使用这台电脑的任何人安装 (所有用户)
|
|
209
|
+
zh_TW: 為使用這台電腦的任何人安裝 (所有使用者)
|
|
210
|
+
tr_TR: Bu bilgisayarı kullanan herkes (ve tüm kullanıcılar)
|
|
211
|
+
sv_SE: Alla som använder den här datorn (alla användare)
|
|
212
|
+
pl_PL: Każdy korzystający z tego komputera (wszyscy użytkownicy)
|
|
213
|
+
no: Alle som bruker denne datamaskinen (alle brukere)
|
|
214
|
+
nl_NL: Iedereen die deze computer gebruikt (alle gebruikers)
|
|
215
|
+
it_IT: Per chiunque usi questo computer (tutti gli utenti)
|
|
216
|
+
fi: Kaikille, jotka käyttävät tätä tietokonetta (kaikki käyttäjät)
|
|
217
|
+
es: Cualquiera que utilice este ordenador (todos los usuarios)
|
|
218
|
+
da: Enhver, der bruger denne computer (alle brugere)
|
|
219
|
+
ja: このコンピューターを使用しているすべてのユーザー用にインストールする
|
|
220
|
+
ko: 이 컴퓨터를 사용하는 모든 사람(&모든 사용자)
|
|
221
|
+
loginWithAdminAccount:
|
|
222
|
+
en: You need to login with an account that is a member of the admin group to continue...
|
|
223
|
+
de: Um die Installation fortzusetzen müssen Sie sich mit einem Administrator-Account anmelden...
|
|
224
|
+
ru: Чтобы продолжить, Вам необходимо войти в учетную запись, которая входит в группу администраторов...
|
|
225
|
+
sk: Pre pokračovanie sa musíte zalogovať s účtom ktorý patrí do skupiny adminstrátorov...
|
|
226
|
+
cs: Pro pokračování se musíte přihlásit účtem, který patří do skupiny administrátorů...
|
|
227
|
+
fr: Tu dois te connecter avec un compte ayant des droits d'administrateur pour continuer...
|
|
228
|
+
hu_HU: A folytatáshoz adminisztrátori jogokkal rendelkező fiókkal kell bejelentkezned...
|
|
229
|
+
pt_BR: Você precisa realizar o login com uma conta que é membro do grupo de administração para continuar...
|
|
230
|
+
zh_CN: 您需要用属于管理员群组的用户账户登录来继续...
|
|
231
|
+
zh_TW: 您需要以具系統管理員身分的帳號登入才能繼續...
|
|
232
|
+
tr_TR: Devam etmek için yönetici grubunun üyesi olan bir hesapla giriş yapmanız gerekiyor..
|
|
233
|
+
sv_SE: Du måste logga in med ett konto som är medlem i admingruppen för att fortsätta...
|
|
234
|
+
pl_PL: Musisz się zalogować za pomocą konta będącego członkiem grupy administratora, by kontynuować...
|
|
235
|
+
no: Du må logge inn med en konto som er medlem av administrasjonsgruppen for å fortsette...
|
|
236
|
+
nl_NL: Je dient in te loggen met een account dat lid is van de beheerdersgroep om verder te gaan...
|
|
237
|
+
it_IT: Devi accedere con un account incluso nel gruppo amministratore per continuare...
|
|
238
|
+
fi: Jatkaaksesi sinun on kirjauduttava käyttäjätilillä, joka on ylläpitäjäryhmän jäsen...
|
|
239
|
+
es: Para continuar, tienes que iniciar sesión con una cuenta que pertenezca al grupo de administradores...
|
|
240
|
+
da: Du skal logge ind med en konto, der er medlem af administrationsgruppen for at kunne fortsætte...
|
|
241
|
+
ja: 続行するには、管理者権限アカウントでログインする必要があります...
|
|
242
|
+
ko: 계속하려면 관리자 그룹의 구성원인 계정으로 로그인해야 합니다...
|
|
243
|
+
perUserInstallExists:
|
|
244
|
+
en: There is already a per-user installation.
|
|
245
|
+
de: Es existiert bereits eine Installation für den ausgewählten Benutzer.
|
|
246
|
+
ru: Уже есть установленная программа для отдельного пользователя.
|
|
247
|
+
cs: Již existuje instalace pro uživatele.
|
|
248
|
+
fr: Il y a déjà une installation par utilisateur.
|
|
249
|
+
hu_HU: Már van egy felhasználónkénti telepítés.
|
|
250
|
+
pt_BR: Já existe uma instalação por usuário.
|
|
251
|
+
zh_CN: 已经存在一个安装到当前用户的安装.
|
|
252
|
+
zh_TW: 已經為目前使用者安裝過該軟體
|
|
253
|
+
tr_TR: Her kullanıcı için zaten bir kurulum var.
|
|
254
|
+
sv_SE: Det finns redan en ”per användare”-installation.
|
|
255
|
+
pl_PL: Instalacja dla użytkownika już istnieje.
|
|
256
|
+
no: Det er allerede en per-bruker-installasjon.
|
|
257
|
+
nl_NL: Er is al een installatie 'per gebruiker'.
|
|
258
|
+
it_IT: È già presente un'installazione per utente.
|
|
259
|
+
fi: Tämä on jo käyttäjäkohtainen asennus.
|
|
260
|
+
es: Ya hay una instalación por usuario.
|
|
261
|
+
da: Der er allerede en pr. bruger installation.
|
|
262
|
+
ja: すでに現在のユーザーにインストールされています。
|
|
263
|
+
ko: 이미 사용자별 설치가 있습니다.
|
|
264
|
+
perUserInstall:
|
|
265
|
+
en: There is a per-user installation.
|
|
266
|
+
de: Benutzerinstallation bereits vorhanden.
|
|
267
|
+
ru: Есть установленная программа для отдельного пользователя.
|
|
268
|
+
cs: Instalace pro uživatele.
|
|
269
|
+
fr: Il y a une installation par utilisateur.
|
|
270
|
+
hu_HU: Van felhasználónkénti telepítés.
|
|
271
|
+
pt_BR: Existe uma instalação por usuário.
|
|
272
|
+
zh_CN: 存在一个安装到当前用户的安装.
|
|
273
|
+
zh_TW: 存在一個對目前使用者的安裝
|
|
274
|
+
tr_TR: Kullanıcı başına bir kurulum var.
|
|
275
|
+
sv_SE: Det finns en ”per användare”-installation.
|
|
276
|
+
pl_PL: Instalacja dla użytkownika istnieje.
|
|
277
|
+
no: Det er en per-bruker-installasjon.
|
|
278
|
+
nl_NL: Er is een installatie 'per gebruiker'.
|
|
279
|
+
it_IT: È presente un'installazione per utente.
|
|
280
|
+
fi: Käyttäjäkohtainen asennus on olemassa.
|
|
281
|
+
es: Hay una instalación por usuario.
|
|
282
|
+
da: Der er en pr. bruger installation.
|
|
283
|
+
ja: ユーザーごとのインストールがあります。
|
|
284
|
+
ko: 사용자별로 설치되어 있습니다.
|
|
285
|
+
perMachineInstallExists:
|
|
286
|
+
en: There is already a per-machine installation.
|
|
287
|
+
de: Es existiert bereits eine Installation für diesen Computer.
|
|
288
|
+
ru: Уже есть установленная программа для всего компьютера.
|
|
289
|
+
cs: Již existuje instalace pro tento počítač.
|
|
290
|
+
fr: Il y a déjà une installation par machine.
|
|
291
|
+
hu_HU: Már van egy számítógépenkénti telepítés.
|
|
292
|
+
pt_BR: Já existe uma instalação por máquina.
|
|
293
|
+
zh_CN: 已经存在一个安装到所有用户的安装.
|
|
294
|
+
zh_TW: 已經為所有使用者安裝過該軟體
|
|
295
|
+
tr_TR: Zaten makine başına bir kurulum var.
|
|
296
|
+
sv_SE: Det finns redan en ”per dator”-installation.
|
|
297
|
+
pl_PL: Instalacja dla urządzenia już istnieje.
|
|
298
|
+
no: Det er allerede en per-maskin-installasjon.
|
|
299
|
+
nl_NL: Er is al een installatie 'per apparaat'.
|
|
300
|
+
it_IT: È già presente un'installazione per computer.
|
|
301
|
+
fi: Tämä on jo tietokonekohtainen asennus.
|
|
302
|
+
es: Ya hay una instalación por máquina.
|
|
303
|
+
da: Der er allerede en pr. maskine installation.
|
|
304
|
+
ja: 既にすべてのユーザー用にインストールされています。
|
|
305
|
+
ko: 이미 머신별로 설치되어 있습니다.
|
|
306
|
+
perMachineInstall:
|
|
307
|
+
en: There is a per-machine installation.
|
|
308
|
+
de: Es existiert eine Installation für diesen Computer.
|
|
309
|
+
ru: Есть установленная программа для всего компьютера.
|
|
310
|
+
cs: Instalace pro tento počítač.
|
|
311
|
+
fr: Il y a une installation par machine.
|
|
312
|
+
hu_HU: Van számítógépenkénti telepítés.
|
|
313
|
+
pt_BR: Existe uma instalação por máquina.
|
|
314
|
+
zh_CN: 存在一个安装到所有用户的安装.
|
|
315
|
+
zh_TW: 存在一個對所有使用者的安裝
|
|
316
|
+
tr_TR: Makine başına bir yükleme var.
|
|
317
|
+
sv_SE: Det finns en ”per dator”-installation.
|
|
318
|
+
pl_PL: Instalacja dla urządzenia istnieje.
|
|
319
|
+
no: Det er en per-maskin-installasjon.
|
|
320
|
+
nl_NL: Er is een installatie 'per apparaat'.
|
|
321
|
+
it_IT: È presente un'installazione per computer.
|
|
322
|
+
fi: Tietokonekohtainen asennus on olemassa.
|
|
323
|
+
es: Hay una instalación por máquina.
|
|
324
|
+
da: Der er en pr. maskine installation.
|
|
325
|
+
ja: すべてのユーザー用のインストールがあります。
|
|
326
|
+
ko: 머신별로 설치되어 있습니다.
|
|
327
|
+
reinstallUpgrade:
|
|
328
|
+
en: Will reinstall/upgrade.
|
|
329
|
+
de: Die Anwendung wird aktualisiert.
|
|
330
|
+
ru: Приложение будет переустановлено/обновлено.
|
|
331
|
+
cs: Bude přeinstalováno/aktualizováno.
|
|
332
|
+
fr: Va réinstaller/mettre à jour.
|
|
333
|
+
hu_HU: Újratelepít/frissít.
|
|
334
|
+
pt_BR: Irá reinstalar/atualizar.
|
|
335
|
+
zh_CN: 即将重新安装/升级.
|
|
336
|
+
zh_TW: 即將重新安裝/升級
|
|
337
|
+
tr_TR: Yeniden yükleme/yükseltme
|
|
338
|
+
sv_SE: Kommer att ominstallera/uppgradera.
|
|
339
|
+
pl_PL: Nastąpi ponowna instalacja/aktualizacja.
|
|
340
|
+
no: Vil installere på nytt / oppgradere.
|
|
341
|
+
nl_NL: Zal opnieuw installeren/upgraden.
|
|
342
|
+
it_IT: Re-installa/aggiorna il programma.
|
|
343
|
+
fi: Asennetaan uudelleen/päivitetään.
|
|
344
|
+
es: Se reinstalará/actualizará.
|
|
345
|
+
da: Reinstallerer/opgraderer.
|
|
346
|
+
ja: 再インストール/アップグレードします。
|
|
347
|
+
ko: 재설치/업그레이드합니다.
|
|
348
|
+
uninstall:
|
|
349
|
+
en: Will uninstall.
|
|
350
|
+
de: Die Anwendung wird deinstalliert.
|
|
351
|
+
ru: Приложение будет удалено.
|
|
352
|
+
cs: Odinstaluje se.
|
|
353
|
+
fr: Va désinstaller.
|
|
354
|
+
hu_HU: Eltávolít.
|
|
355
|
+
pt_BR: Irá desinstalar.
|
|
356
|
+
zh_CN: 即将卸载.
|
|
357
|
+
zh_TW: 即將解除安裝
|
|
358
|
+
tr_TR: Kaldıralacak.
|
|
359
|
+
sv_SE: Kommer att avinstallera.
|
|
360
|
+
pl_PL: Nastąpi dezinstalacja.
|
|
361
|
+
no: Vil avinstallere.
|
|
362
|
+
nl_NL: Zal installatie verwijderen.
|
|
363
|
+
it_IT: Disinstalla il programma.
|
|
364
|
+
fi: Poistetaan asennus.
|
|
365
|
+
es: Se desinstalará.
|
|
366
|
+
da: Afinstallerer.
|
|
367
|
+
ja: アンインストールします。
|
|
368
|
+
ko: 제거합니다.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
!include x64.nsh
|
|
2
|
+
!include WinVer.nsh
|
|
3
|
+
|
|
4
|
+
BrandingText "${PRODUCT_NAME} ${VERSION}"
|
|
5
|
+
ShowInstDetails nevershow
|
|
6
|
+
!ifdef BUILD_UNINSTALLER
|
|
7
|
+
ShowUninstDetails nevershow
|
|
8
|
+
!endif
|
|
9
|
+
FileBufSize 64
|
|
10
|
+
|
|
11
|
+
# Allows for a product name to display properly if it has an ampersand
|
|
12
|
+
# Doesn't affect anything if there is no double ampersand
|
|
13
|
+
!searchreplace DoubleAmpersand "${PRODUCT_NAME}" "&" "&&"
|
|
14
|
+
Name "${PRODUCT_NAME}" "${DoubleAmpersand}"
|
|
15
|
+
|
|
16
|
+
!define APP_EXECUTABLE_FILENAME "${PRODUCT_FILENAME}.exe"
|
|
17
|
+
!define UNINSTALL_FILENAME "Uninstall ${PRODUCT_FILENAME}.exe"
|
|
18
|
+
|
|
19
|
+
!macro setSpaceRequired SECTION_ID
|
|
20
|
+
!ifdef APP_64_UNPACKED_SIZE
|
|
21
|
+
!ifdef APP_32_UNPACKED_SIZE
|
|
22
|
+
!ifdef APP_ARM64_UNPACKED_SIZE
|
|
23
|
+
${if} ${IsNativeARM64}
|
|
24
|
+
SectionSetSize ${SECTION_ID} ${APP_ARM64_UNPACKED_SIZE}
|
|
25
|
+
${elseif} ${IsNativeAMD64}
|
|
26
|
+
SectionSetSize ${SECTION_ID} ${APP_64_UNPACKED_SIZE}
|
|
27
|
+
${else}
|
|
28
|
+
SectionSetSize ${SECTION_ID} ${APP_32_UNPACKED_SIZE}
|
|
29
|
+
${endif}
|
|
30
|
+
!else
|
|
31
|
+
${if} ${RunningX64}
|
|
32
|
+
SectionSetSize ${SECTION_ID} ${APP_64_UNPACKED_SIZE}
|
|
33
|
+
${else}
|
|
34
|
+
SectionSetSize ${SECTION_ID} ${APP_32_UNPACKED_SIZE}
|
|
35
|
+
${endif}
|
|
36
|
+
!endif
|
|
37
|
+
!else
|
|
38
|
+
SectionSetSize ${SECTION_ID} ${APP_64_UNPACKED_SIZE}
|
|
39
|
+
!endif
|
|
40
|
+
!else
|
|
41
|
+
!ifdef APP_32_UNPACKED_SIZE
|
|
42
|
+
SectionSetSize ${SECTION_ID} ${APP_32_UNPACKED_SIZE}
|
|
43
|
+
!endif
|
|
44
|
+
!endif
|
|
45
|
+
!macroend
|
|
46
|
+
|
|
47
|
+
!macro check64BitAndSetRegView
|
|
48
|
+
# https://github.com/electron-userland/electron-builder/issues/2420
|
|
49
|
+
${If} ${IsWin2000}
|
|
50
|
+
${OrIf} ${IsWinME}
|
|
51
|
+
${OrIf} ${IsWinXP}
|
|
52
|
+
${OrIf} ${IsWinVista}
|
|
53
|
+
MessageBox MB_OK "$(win7Required)"
|
|
54
|
+
Quit
|
|
55
|
+
${EndIf}
|
|
56
|
+
|
|
57
|
+
!ifdef APP_ARM64
|
|
58
|
+
${If} ${RunningX64}
|
|
59
|
+
SetRegView 64
|
|
60
|
+
${EndIf}
|
|
61
|
+
${If} ${IsNativeARM64}
|
|
62
|
+
SetRegView 64
|
|
63
|
+
${EndIf}
|
|
64
|
+
!else
|
|
65
|
+
!ifdef APP_64
|
|
66
|
+
${If} ${RunningX64}
|
|
67
|
+
SetRegView 64
|
|
68
|
+
${Else}
|
|
69
|
+
!ifndef APP_32
|
|
70
|
+
MessageBox MB_OK|MB_ICONEXCLAMATION "$(x64WinRequired)"
|
|
71
|
+
Quit
|
|
72
|
+
!endif
|
|
73
|
+
${EndIf}
|
|
74
|
+
!endif
|
|
75
|
+
!endif
|
|
76
|
+
!macroend
|
|
77
|
+
|
|
78
|
+
# avoid exit code 2
|
|
79
|
+
!macro quitSuccess
|
|
80
|
+
SetErrorLevel 0
|
|
81
|
+
Quit
|
|
82
|
+
!macroend
|
|
83
|
+
|
|
84
|
+
!macro setLinkVars
|
|
85
|
+
# old desktop shortcut (could exist or not since the user might has selected to delete it)
|
|
86
|
+
ReadRegStr $oldShortcutName SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" ShortcutName
|
|
87
|
+
${if} $oldShortcutName == ""
|
|
88
|
+
StrCpy $oldShortcutName "${PRODUCT_FILENAME}"
|
|
89
|
+
${endIf}
|
|
90
|
+
StrCpy $oldDesktopLink "$DESKTOP\$oldShortcutName.lnk"
|
|
91
|
+
|
|
92
|
+
# new desktop shortcut (will be created/renamed in case of a fresh installation or if the user haven't deleted the initial one)
|
|
93
|
+
StrCpy $newDesktopLink "$DESKTOP\${SHORTCUT_NAME}.lnk"
|
|
94
|
+
|
|
95
|
+
ReadRegStr $oldMenuDirectory SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" MenuDirectory
|
|
96
|
+
${if} $oldMenuDirectory == ""
|
|
97
|
+
StrCpy $oldStartMenuLink "$SMPROGRAMS\$oldShortcutName.lnk"
|
|
98
|
+
${else}
|
|
99
|
+
StrCpy $oldStartMenuLink "$SMPROGRAMS\$oldMenuDirectory\$oldShortcutName.lnk"
|
|
100
|
+
${endIf}
|
|
101
|
+
|
|
102
|
+
# new menu shortcut (will be created/renamed in case of a fresh installation or if the user haven't deleted the initial one)
|
|
103
|
+
!ifdef MENU_FILENAME
|
|
104
|
+
StrCpy $newStartMenuLink "$SMPROGRAMS\${MENU_FILENAME}\${SHORTCUT_NAME}.lnk"
|
|
105
|
+
!else
|
|
106
|
+
StrCpy $newStartMenuLink "$SMPROGRAMS\${SHORTCUT_NAME}.lnk"
|
|
107
|
+
!endif
|
|
108
|
+
!macroend
|
|
109
|
+
|
|
110
|
+
!macro skipPageIfUpdated
|
|
111
|
+
!define UniqueID ${__LINE__}
|
|
112
|
+
|
|
113
|
+
Function skipPageIfUpdated_${UniqueID}
|
|
114
|
+
${if} ${isUpdated}
|
|
115
|
+
Abort
|
|
116
|
+
${endif}
|
|
117
|
+
FunctionEnd
|
|
118
|
+
|
|
119
|
+
!define MUI_PAGE_CUSTOMFUNCTION_PRE skipPageIfUpdated_${UniqueID}
|
|
120
|
+
!undef UniqueID
|
|
121
|
+
!macroend
|
|
122
|
+
|
|
123
|
+
!macro StartApp
|
|
124
|
+
Var /GLOBAL startAppArgs
|
|
125
|
+
${if} ${isUpdated}
|
|
126
|
+
StrCpy $startAppArgs "--updated"
|
|
127
|
+
${else}
|
|
128
|
+
StrCpy $startAppArgs ""
|
|
129
|
+
${endif}
|
|
130
|
+
|
|
131
|
+
${StdUtils.ExecShellAsUser} $0 "$launchLink" "open" "$startAppArgs"
|
|
132
|
+
!macroend
|
|
133
|
+
|
|
134
|
+
!define LogSet "!insertmacro LogSetMacro"
|
|
135
|
+
!macro LogSetMacro SETTING
|
|
136
|
+
!ifdef ENABLE_LOGGING_ELECTRON_BUILDER
|
|
137
|
+
SetOutPath $INSTDIR
|
|
138
|
+
LogSet ${SETTING}
|
|
139
|
+
!endif
|
|
140
|
+
!macroend
|
|
141
|
+
|
|
142
|
+
!define LogText "!insertmacro LogTextMacroEB"
|
|
143
|
+
!macro LogTextMacroEB INPUT_TEXT
|
|
144
|
+
!ifdef ENABLE_LOGGING_ELECTRON_BUILDER
|
|
145
|
+
LogText ${INPUT_TEXT}
|
|
146
|
+
!endif
|
|
147
|
+
!macroend
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Loading...
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
; fileassoc.nsh
|
|
2
|
+
; File association helper macros
|
|
3
|
+
; Written by Saivert
|
|
4
|
+
;
|
|
5
|
+
; Features automatic backup system and UPDATEFILEASSOC macro for
|
|
6
|
+
; shell change notification.
|
|
7
|
+
;
|
|
8
|
+
; |> How to use <|
|
|
9
|
+
; To associate a file with an application so you can double-click it in explorer, use
|
|
10
|
+
; the APP_ASSOCIATE macro like this:
|
|
11
|
+
;
|
|
12
|
+
; Example:
|
|
13
|
+
; !insertmacro APP_ASSOCIATE "txt" "myapp.textfile" "Description of txt files" \
|
|
14
|
+
; "$INSTDIR\myapp.exe,0" "Open with myapp" "$INSTDIR\myapp.exe $\"%1$\""
|
|
15
|
+
;
|
|
16
|
+
; Never insert the APP_ASSOCIATE macro multiple times, it is only ment
|
|
17
|
+
; to associate an application with a single file and using the
|
|
18
|
+
; the "open" verb as default. To add more verbs (actions) to a file
|
|
19
|
+
; use the APP_ASSOCIATE_ADDVERB macro.
|
|
20
|
+
;
|
|
21
|
+
; Example:
|
|
22
|
+
; !insertmacro APP_ASSOCIATE_ADDVERB "myapp.textfile" "edit" "Edit with myapp" \
|
|
23
|
+
; "$INSTDIR\myapp.exe /edit $\"%1$\""
|
|
24
|
+
;
|
|
25
|
+
; To have access to more options when registering the file association use the
|
|
26
|
+
; APP_ASSOCIATE_EX macro. Here you can specify the verb and what verb is to be the
|
|
27
|
+
; standard action (default verb).
|
|
28
|
+
;
|
|
29
|
+
; Note, that this script takes into account user versus global installs.
|
|
30
|
+
; To properly work you must initialize the SHELL_CONTEXT variable via SetShellVarContext.
|
|
31
|
+
;
|
|
32
|
+
; And finally: To remove the association from the registry use the APP_UNASSOCIATE
|
|
33
|
+
; macro. Here is another example just to wrap it up:
|
|
34
|
+
; !insertmacro APP_UNASSOCIATE "txt" "myapp.textfile"
|
|
35
|
+
;
|
|
36
|
+
; |> Note <|
|
|
37
|
+
; When defining your file class string always use the short form of your application title
|
|
38
|
+
; then a period (dot) and the type of file. This keeps the file class sort of unique.
|
|
39
|
+
; Examples:
|
|
40
|
+
; Winamp.Playlist
|
|
41
|
+
; NSIS.Script
|
|
42
|
+
; Photoshop.JPEGFile
|
|
43
|
+
;
|
|
44
|
+
; |> Tech info <|
|
|
45
|
+
; The registry key layout for a global file association is:
|
|
46
|
+
;
|
|
47
|
+
; HKEY_LOCAL_MACHINE\Software\Classes
|
|
48
|
+
; <".ext"> = <applicationID>
|
|
49
|
+
; <applicationID> = <"description">
|
|
50
|
+
; shell
|
|
51
|
+
; <verb> = <"menu-item text">
|
|
52
|
+
; command = <"command string">
|
|
53
|
+
;
|
|
54
|
+
;
|
|
55
|
+
; The registry key layout for a per-user file association is:
|
|
56
|
+
;
|
|
57
|
+
; HKEY_CURRENT_USER\Software\Classes
|
|
58
|
+
; <".ext"> = <applicationID>
|
|
59
|
+
; <applicationID> = <"description">
|
|
60
|
+
; shell
|
|
61
|
+
; <verb> = <"menu-item text">
|
|
62
|
+
; command = <"command string">
|
|
63
|
+
;
|
|
64
|
+
|
|
65
|
+
!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
|
|
66
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}"
|
|
67
|
+
WriteRegNone SHELL_CONTEXT "Software\Classes\.${EXT}\OpenWithProgids" "${FILECLASS}"
|
|
68
|
+
|
|
69
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}`
|
|
70
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}`
|
|
71
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell" "" "open"
|
|
72
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
|
|
73
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\open\command" "" `${COMMAND}`
|
|
74
|
+
!macroend
|
|
75
|
+
|
|
76
|
+
!macro APP_ASSOCIATE_EX EXT FILECLASS DESCRIPTION ICON VERB DEFAULTVERB SHELLNEW COMMANDTEXT COMMAND
|
|
77
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}"
|
|
78
|
+
WriteRegNone SHELL_CONTEXT "Software\Classes\.${EXT}\OpenWithProgids" "${FILECLASS}"
|
|
79
|
+
StrCmp "${SHELLNEW}" "0" +2
|
|
80
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}\ShellNew" "NullFile" ""
|
|
81
|
+
|
|
82
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}`
|
|
83
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}`
|
|
84
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell" "" `${DEFAULTVERB}`
|
|
85
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
|
|
86
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
|
|
87
|
+
!macroend
|
|
88
|
+
|
|
89
|
+
!macro APP_ASSOCIATE_ADDVERB FILECLASS VERB COMMANDTEXT COMMAND
|
|
90
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
|
|
91
|
+
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
|
|
92
|
+
!macroend
|
|
93
|
+
|
|
94
|
+
!macro APP_ASSOCIATE_REMOVEVERB FILECLASS VERB
|
|
95
|
+
DeleteRegKey SHELL_CONTEXT `Software\Classes\${FILECLASS}\shell\${VERB}`
|
|
96
|
+
!macroend
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
!macro APP_UNASSOCIATE EXT FILECLASS
|
|
100
|
+
DeleteRegValue SHELL_CONTEXT "Software\Classes\.${EXT}\OpenWithProgids" "${FILECLASS}"
|
|
101
|
+
DeleteRegKey SHELL_CONTEXT `Software\Classes\${FILECLASS}`
|
|
102
|
+
!macroend
|
|
103
|
+
|
|
104
|
+
!macro APP_ASSOCIATE_GETFILECLASS OUTPUT EXT
|
|
105
|
+
ReadRegStr ${OUTPUT} SHELL_CONTEXT "Software\Classes\.${EXT}" ""
|
|
106
|
+
!macroend
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
; !defines for use with SHChangeNotify
|
|
110
|
+
!ifdef SHCNE_ASSOCCHANGED
|
|
111
|
+
!undef SHCNE_ASSOCCHANGED
|
|
112
|
+
!endif
|
|
113
|
+
!define SHCNE_ASSOCCHANGED 0x08000000
|
|
114
|
+
!ifdef SHCNF_FLUSH
|
|
115
|
+
!undef SHCNF_FLUSH
|
|
116
|
+
!endif
|
|
117
|
+
!define SHCNF_FLUSH 0x1000
|
|
118
|
+
|
|
119
|
+
!macro UPDATEFILEASSOC
|
|
120
|
+
; Using the system.dll plugin to call the SHChangeNotify Win32 API function so we
|
|
121
|
+
; can update the shell.
|
|
122
|
+
System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSH}, 0, 0)"
|
|
123
|
+
!macroend
|