我在Inno中做了一個設置腳本,我在想,如何獲得非「硬編碼」路徑。下面是例子:Inno Setup(如何獲取文件的動態路徑)?
在此先感謝!
SOLUTION:{#SourcePath} \ ??? \ BIN:
您可以通過使用預定義變量
SOURCEPATH
用法會像得到的.iss文件夾\ x86 \ Release \ ??? .exe
謝謝所有人的貢獻!
我在Inno中做了一個設置腳本,我在想,如何獲得非「硬編碼」路徑。下面是例子:Inno Setup(如何獲取文件的動態路徑)?
在此先感謝!
SOLUTION:{#SourcePath} \ ??? \ BIN:
您可以通過使用預定義變量
SOURCEPATH
用法會像得到的.iss文件夾\ x86 \ Release \ ??? .exe
謝謝所有人的貢獻!
有關source directory
基準說(由我強調):
默認情況下,安裝程序編譯器希望找到腳本的[文件]節源參數引用的文件,並且文件中引用 在如果它們不包含完全合格的路徑名稱,則位於同一目錄下的[Setup]部分腳本文件爲 。要指定 不同的源目錄,請在 腳本的[Setup]部分中創建SourceDir僞指令。
這還包括指定文件相對路徑的選項。因此,讓我們假設你有以下的文件結構,並且沒有在SourceDir
指令指定一個不同的路徑:
C:\Deploy\Script.iss
C:\Deploy\MyProg.exe
C:\Deploy\SubFolder\MyOtherProg.exe
C:\Folder\SomeFile.txt
現在,如果你想包括MyProg.exe
到從Script.iss
腳本編制設置,你可以不帶路徑僅指定文件名,因爲MyProg.exe
文件存儲在同一文件夾中的腳本,所以你可以這樣寫:
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
而且你可以使用相對路徑MyOtherProg.exe
這是存儲在文件夾所在的子文件夾中Script.iss
腳本存儲這樣:
[Files]
Source: "SubFolder\MyOtherProg.exe"; DestDir: "{app}"
,以及你可以使用相對路徑,包括存儲在父文件夾的子文件夾中SomeFile.txt
其中腳本存儲:
[Files]
Source: "..\Folder\SomeFile.txt"; DestDir: "{app}"
更多相對路徑約定,你可以在this chapter
中閱讀。
'的#define MyAppName 「MY APP」 的#define MyAppExeName 「my_app.exe」 [文件] 來源:「{} userdesktop \ {#MyAppName} \ SOURCES.PROJECTS \ ??? \ ??? \發佈\ {#MyAppExeName}「' – RobeN 2014-09-02 10:04:43
@RobeN如果我從其他計算機上運行此腳本,並讓該文件夾不在桌面上,這將無法正常工作? – Janck7 2014-09-02 10:11:23
'{userdesktop}'常量總是指向當前用戶的真實桌面 - 無論安裝的是哪種語言版本的Windows。在波蘭語中,它將是例如'C:\Użytkownicy\ MOJ_PROFIL \ Pulpit' – RobeN 2014-09-02 10:13:21