อ่านเวอร์ชันแอปพลิเคชันจากไฟล์ข้อความใน Inno Setup
Aug 18 2020
ฉันมีไฟล์ TypeScript ที่มีบรรทัดนี้:
export const version = '0.0.1';
และฉันต้องการเข้าถึงค่าversion
และนำเข้าAppVersion
ในSetup
ส่วน (iss file)
[Setup]
AppVersion={....}
ฉันจะทำมันได้อย่างไร?
คำตอบ
2 MartinPrikryl Aug 18 2020 at 19:51
เช่นเดียวกับInno Setup: วิธีอัปเดตค่า AppVersion [Setup] จากไฟล์ Config.xmlคุณสามารถใช้สคริปต์ PowerShell จากตัวประมวลผลล่วงหน้าเพื่อแยกวิเคราะห์เวอร์ชันจากไฟล์โดยใช้นิพจน์ทั่วไป:
#define RetrieveVersion(str FileName) \
Local[0] = AddBackslash(GetEnv("TEMP")) + "version.txt", \
Local[1] = \
"-ExecutionPolicy Bypass -Command """ + \
"$contents = Get-Content '" + FileName + "';" + \ "$match = $contents | Select-String 'version\s*=\s*''(.*?)''';" + \ "$version = $match.Matches.Groups[1].Value;" + \ "Set-Content -Path '" + Local[0] + "' -Value $version;" + \
"""", \
Exec("powershell.exe", Local[1], SourcePath, , SW_HIDE), \
Local[2] = FileOpen(Local[0]), \
Local[3] = FileRead(Local[2]), \
FileClose(Local[2]), \
DeleteFileNow(Local[0]), \
Local[3]
[Setup]
AppVersion={#RetrieveVersion("C:\path\script.ts")}