Skip to content

Commit bc57b63

Browse files
Merge pull request #26 from nvdacn/AddonStoreJSON
确保安装来自插件商店的插件时,插件商店中的通道正确
2 parents 91cf08d + 1208168 commit bc57b63

File tree

3 files changed

+46
-29
lines changed

3 files changed

+46
-29
lines changed

.github/workflows/build.yaml

+7-2
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
- name: get ${{ matrix.addon.addonId }} addon data
9696
uses: antifree/[email protected]
9797
with:
98-
filename: ${{ github.workspace}}/addon-datastore/views/zh_CN/latest/${{ matrix.addon.addonId }}/stable.json
98+
filename: ${{ github.workspace }}/addon-datastore/views/zh_CN/latest/${{ matrix.addon.addonId }}/stable.json
9999
- name: Cache ${{ matrix.addon.addonId }}-${{ env.addonVersionName }} Addon
100100
uses: actions/cache@v4
101101
with:
@@ -110,10 +110,15 @@ jobs:
110110
with:
111111
file-url: ${{ env.URL }}
112112
sha256: ${{ env.sha256 }}
113+
- name: Copy ${{ matrix.addon.addonId }}-${{ env.addonVersionName }} Addon JSON data
114+
run: cp ${{ github.workspace }}/addon-datastore/views/zh_CN/latest/${{ matrix.addon.addonId }}/stable.json ${{ github.workspace }}/${{ matrix.addon.addonId }}.json
113115
- uses: actions/upload-artifact@v4
114116
with:
115117
name: ${{ matrix.addon.addonId }}-${{ env.addonVersionName }}.nvda-addon
116-
path: ${{ steps.download-addon.outputs.file-path }}
118+
path: |
119+
${{ steps.download-addon.outputs.file-path }}
120+
${{ github.workspace }}/${{ matrix.addon.addonId }}.json
121+
117122
if-no-files-found: error
118123

119124
download-resource:

documentation/新增插件模板.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,13 @@ Type: files; Name: "{app}\Addons\
4747
# [Run] 段
4848
Filename: "{tmp}\7z"; Parameters: "x ""Addons\
4949
插件ID
50-
*"" -aoa -o""{app}\Addons\
50+
*.nvda-addon"" -aoa -o""{app}\Addons\
5151
插件ID
5252
"""; Components: "Addons\
5353
插件ID
54-
"
54+
"; AfterInstall: JSONFile('
55+
插件ID
56+
')
5557

5658
# [Files] 段
5759
Source: "Resource\Addons\

懒人版安装脚本.iss

+35-25
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,16 @@ begin
182182
SetIniString('ibmeci', ' TTSPath ', ExpandConstant('{pf}\ViaVoiceTTS'), ExpandConstant('{userappdata}\NVDA\nvda.ini'));
183183
end;
184184
end;
185+
procedure JSONFile(JSONName: String);
186+
var
187+
FileName: String;
188+
begin
189+
FileName := ExpandConstant('{tmp}\Addons\'+ JSONName +'.json');
190+
If FileExists(FileName) Then
191+
begin
192+
FileCopy(FileName, ExpandConstant('{app}\Addons\'+ JSONName +'.json'), False);
193+
end;
194+
end;
185195
186196
[ini]
187197
FileName: "{tmp}\Application\locale\zh_CN\gestures.ini"; Section: "globalPlugins.DragAndDrop.GlobalPlugin"; Key: "None"; String: "kb(desktop):numpad9+nvda, kb(desktop):.+nvda"; Tasks: DragAndDropGestures
@@ -262,37 +272,37 @@ Filename: "{tmp}\Application\nvda"; Parameters: "-m --install-silent --enable-st
262272
Filename: "{tmp}\Application\nvda"; Parameters: "-m -s"; Flags: nowait
263273
Filename: "{tmp}\VVTTS"; Parameters: "/S"; Components: "Voices\VVTTS and Settings"; AfterInstall: VVTTSINI();
264274
Filename: "{tmp}\VVTTS"; Parameters: "/S"; Components: "Voices\VVTTS and not Settings"
265-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\AiSound5*"" -aoa -o""{app}\Addons\AiSound5"""; Components: "Voices\AiSound5"
275+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\AiSound5*.nvda-addon"" -aoa -o""{app}\Addons\AiSound5"""; Components: "Voices\AiSound5"; AfterInstall: JSONFile('AiSound5')
266276
Filename: "{tmp}\7z"; Parameters: "x ""aisound.zip"" -aoa -o""{app}\Addons\AiSound5\synthDrivers"""; Components: "Voices\AiSound5"
267-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\IBMTTS*"" -aoa -o""{app}\Addons\IBMTTS"""; Components: "Voices\VVTTS\IBMTTS"
277+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\IBMTTS*.nvda-addon"" -aoa -o""{app}\Addons\IBMTTS"""; Components: "Voices\VVTTS\IBMTTS"; AfterInstall: JSONFile('IBMTTS')
268278
Filename: "{tmp}\vcredist_x86"; Parameters: "/install /quiet /norestart"; Components: "Voices\WorldVoice"
269-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\WorldVoice*"" -aoa -o""{app}\Addons\WorldVoice"""; Components: "Voices\WorldVoice"
279+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\WorldVoice*.nvda-addon"" -aoa -o""{app}\Addons\WorldVoice"""; Components: "Voices\WorldVoice"; AfterInstall: JSONFile('WorldVoice')
270280
Filename: "{tmp}\7z"; Parameters: "x ""aisound.zip"" -aoa -o""{app}\WorldVoice-workspace\aisound"""; Components: "Voices\WorldVoice"
271281
Filename: "{tmp}\7z"; Parameters: "x ""VE.zip"" -aoa -o""{app}\WorldVoice-workspace\VE"""; Components: "Voices\WorldVoice"
272282
Filename: "{tmp}\7z"; Parameters: "x ""voice.zip"" -aoa -o""{app}\WorldVoice-workspace"""; Components: "Voices\WorldVoice"
273-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\Access8Math*"" -aoa -o""{app}\Addons\Access8Math"""; Components: "Addons\Access8Math"
274-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\addonsHelp*"" -aoa -o""{app}\Addons\addonsHelp"""; Components: "Addons\addonsHelp"
275-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\addonsTools*"" -aoa -o""{app}\Addons\addonsTools"""; Components: "Addons\addonsTools"
283+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\Access8Math*.nvda-addon"" -aoa -o""{app}\Addons\Access8Math"""; Components: "Addons\Access8Math"; AfterInstall: JSONFile('Access8Math')
284+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\addonsHelp*.nvda-addon"" -aoa -o""{app}\Addons\addonsHelp"""; Components: "Addons\addonsHelp"; AfterInstall: JSONFile('addonsHelp')
285+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\addonsTools*.nvda-addon"" -aoa -o""{app}\Addons\addonsTools"""; Components: "Addons\addonsTools"; AfterInstall: JSONFile('addonsTools')
276286
Filename: "{tmp}\7z"; Parameters: "x ""Addons\addonUpdater*"" -aoa -o""{app}\Addons\addonUpdater"""; Components: "Addons\addonUpdater"
277-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\audioManager*"" -aoa -o""{app}\Addons\audioManager"""; Components: "Addons\audioManager"
278-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\baiduTranslation*"" -aoa -o""{app}\Addons\baiduTranslation"""; Components: "Addons\baiduTranslation"
279-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\clipboardEnhancement*"" -aoa -o""{app}\Addons\clipboardEnhancement"""; Components: "Addons\clipboardEnhancement"
280-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\DragAndDrop*"" -aoa -o""{app}\Addons\DragAndDrop"""; Components: "Addons\DragAndDrop"
281-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\enhancedTouchGestures*"" -aoa -o""{app}\Addons\enhancedTouchGestures"""; Components: "Addons\enhancedTouchGestures"
282-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\goldenCursor*"" -aoa -o""{app}\Addons\goldenCursor"""; Components: "Addons\goldenCursor"
283-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\ime_expressive*"" -aoa -o""{app}\Addons\ime_expressive"""; Components: "Addons\imeExpressive"
284-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\inputLock*"" -aoa -o""{app}\Addons\inputLock"""; Components: "Addons\inputLock"
285-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\instantTranslate*"" -aoa -o""{app}\Addons\instantTranslate"""; Components: "Addons\instantTranslate"
286-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\MSEdgeDiscardAnnouncements*"" -aoa -o""{app}\Addons\MSEdgeDiscardAnnouncements"""; Components: "Addons\MSEdgeDiscardAnnouncements"
287-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\numberProcessing*"" -aoa -o""{app}\Addons\numberProcessing"""; Components: "Addons\numberProcessing"
288-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\QQEnhancement*"" -aoa -o""{app}\Addons\QQEnhancement"""; Components: "Addons\QQEnhancement"
289-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\remote*"" -aoa -o""{app}\Addons\remote"""; Components: "Addons\remote"
290-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\resourceMonitor*"" -aoa -o""{app}\Addons\resourceMonitor"""; Components: "Addons\resourceMonitor"
291-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\unmute*"" -aoa -o""{app}\Addons\unmute"""; Components: "Addons\unmute"
292-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\NVDACNMirror*"" -aoa -o""{app}\Addons\NVDACNMirror"""; Components: "Addons\NVDACNMirror"
293-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\WeChatEnhancement*"" -aoa -o""{app}\Addons\WeChatEnhancement"""; Components: "Addons\WeChatEnhancement"
294-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\wintenApps*"" -aoa -o""{app}\Addons\wintenApps"""; Components: "Addons\wintenApps"
295-
Filename: "{tmp}\7z"; Parameters: "x ""Addons\xyOCR*"" -aoa -o""{app}\Addons\xyOCR"""; Components: "Addons\xyOCR"
287+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\audioManager*.nvda-addon"" -aoa -o""{app}\Addons\audioManager"""; Components: "Addons\audioManager"; AfterInstall: JSONFile('audioManager')
288+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\baiduTranslation*.nvda-addon"" -aoa -o""{app}\Addons\baiduTranslation"""; Components: "Addons\baiduTranslation"; AfterInstall: JSONFile('baiduTranslation')
289+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\clipboardEnhancement*.nvda-addon"" -aoa -o""{app}\Addons\clipboardEnhancement"""; Components: "Addons\clipboardEnhancement"; AfterInstall: JSONFile('clipboardEnhancement')
290+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\DragAndDrop*.nvda-addon"" -aoa -o""{app}\Addons\DragAndDrop"""; Components: "Addons\DragAndDrop"; AfterInstall: JSONFile('DragAndDrop')
291+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\enhancedTouchGestures*.nvda-addon"" -aoa -o""{app}\Addons\enhancedTouchGestures"""; Components: "Addons\enhancedTouchGestures"; AfterInstall: JSONFile('enhancedTouchGestures')
292+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\goldenCursor*.nvda-addon"" -aoa -o""{app}\Addons\goldenCursor"""; Components: "Addons\goldenCursor"; AfterInstall: JSONFile('goldenCursor')
293+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\ime_expressive*.nvda-addon"" -aoa -o""{app}\Addons\ime_expressive"""; Components: "Addons\imeExpressive"; AfterInstall: JSONFile('ime_expressive')
294+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\inputLock*.nvda-addon"" -aoa -o""{app}\Addons\inputLock"""; Components: "Addons\inputLock"; AfterInstall: JSONFile('inputLock')
295+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\instantTranslate*.nvda-addon"" -aoa -o""{app}\Addons\instantTranslate"""; Components: "Addons\instantTranslate"; AfterInstall: JSONFile('instantTranslate')
296+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\MSEdgeDiscardAnnouncements*.nvda-addon"" -aoa -o""{app}\Addons\MSEdgeDiscardAnnouncements"""; Components: "Addons\MSEdgeDiscardAnnouncements"; AfterInstall: JSONFile('MSEdgeDiscardAnnouncements')
297+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\numberProcessing*.nvda-addon"" -aoa -o""{app}\Addons\numberProcessing"""; Components: "Addons\numberProcessing"; AfterInstall: JSONFile('numberProcessing')
298+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\QQEnhancement*.nvda-addon"" -aoa -o""{app}\Addons\QQEnhancement"""; Components: "Addons\QQEnhancement"; AfterInstall: JSONFile('QQEnhancement')
299+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\remote*.nvda-addon"" -aoa -o""{app}\Addons\remote"""; Components: "Addons\remote"; AfterInstall: JSONFile('remote')
300+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\resourceMonitor*.nvda-addon"" -aoa -o""{app}\Addons\resourceMonitor"""; Components: "Addons\resourceMonitor"; AfterInstall: JSONFile('resourceMonitor')
301+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\unmute*.nvda-addon"" -aoa -o""{app}\Addons\unmute"""; Components: "Addons\unmute"; AfterInstall: JSONFile('unmute')
302+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\NVDACNMirror*.nvda-addon"" -aoa -o""{app}\Addons\NVDACNMirror"""; Components: "Addons\NVDACNMirror"; AfterInstall: JSONFile('NVDACNMirror')
303+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\WeChatEnhancement*.nvda-addon"" -aoa -o""{app}\Addons\WeChatEnhancement"""; Components: "Addons\WeChatEnhancement"; AfterInstall: JSONFile('WeChatEnhancement')
304+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\wintenApps*.nvda-addon"" -aoa -o""{app}\Addons\wintenApps"""; Components: "Addons\wintenApps"; AfterInstall: JSONFile('wintenApps')
305+
Filename: "{tmp}\7z"; Parameters: "x ""Addons\xyOCR*.nvda-addon"" -aoa -o""{app}\Addons\xyOCR"""; Components: "Addons\xyOCR"; AfterInstall: JSONFile('xyOCR')
296306

297307
[Files]
298308
Source: "Temp\Application.exe"; DestDir: "{tmp}"; Flags: dontcopy deleteafterinstall

0 commit comments

Comments
 (0)