2014-10-01 348 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