2014-10-01 351 views
1

我有一個Inno Setup DefaultDirName的問題。我的代碼看起來像這樣:Inno Setup DefaultDirName問題

#define MyAppName "My Program" 
#define MyAppVersion "1.0" 
#define MyAppPublisher "My site" 
#define MyAppURL "mysite.net" 
#define MyAppExeName "My Program.exe" 

[Setup] 
; NOTE: The value of AppId uniquely identifies this application. 
; Do not use the same AppId value in installers for other applications. 
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) 
AppId={{36D5C912-2F45-4295-956F-53E668BD6094} 
AppName={#MyAppName} 
AppVersion={#MyAppVersion} 
;AppVerName={#MyAppName} {#MyAppVersion} 
AppPublisher={#MyAppPublisher} 
AppPublisherURL={#MyAppURL} 
AppSupportURL={#MyAppURL} 
AppUpdatesURL={#MyAppURL} 
DefaultDirName=c:\Please Choose the Path to Your Program 
DefaultGroupName={#MyAppName} 
AllowNoIcons=yes 
LicenseFile=D:\My Program\EULA.txt 
OutputDir=D:\My Program\Inno\ 
OutputBaseFilename=setup 
SetupIconFile=D:\My Program\\Graphics\Icon.ico 
Compression=lzma 
SolidCompression=yes 

一切正常,就像我希望它除了一件事。我的程序是修改幾個不同的軟件。這就是爲什麼我不能爲它們指定一個默認目錄。同時我想清楚地指出用戶想要選擇的目錄。這就是爲什麼我寫的是這樣的:

DefaultDirName=c:\Please Choose the Path to Your Program 

與該行的代碼的問題是,當用戶指向某個目錄我的安裝程序試圖添加「\請選擇路徑到您的計劃」,該目錄(這顯然會導致我的程序無法正常工作)。如何防止這種情況發生,但仍然讓用戶知道安裝我的程序時他應該選擇什麼目錄?

回答

3

設置AppendDefaultDirName指令no,如:

[Setup] 
... 
AppendDefaultDirName=no 

作爲參考說(由我強調):

默認情況下,當被顯示在對話框中的文件夾瀏覽... 單擊選擇目標位置嚮導頁上的按鈕, 安裝程序會自動附加DefaultDirName的最後一個組件nto 新路徑

例如,如果DefaultDirName是{pf} \ My Program並單擊「Z:\」,則新路徑將變爲「Z:\ My Program」。

將此指令設置爲no禁用上述行爲。在 另外,它會導致一個新建文件夾按鈕出現在對話框中。

+0

嗯......我在問這個問題之前做了一些研究,我覺得有點傻,答案很簡單。非常感謝@Tlama! – Forc3ofWill 2014-10-01 11:30:10

+0

不客氣! – TLama 2014-10-01 11:30:27