2012-09-15 32 views
2

这是我第一次使用Access Developer Extensions以外的安装程序。我有几个MS Access文件,我试图安装到用户的AppData \ Local文件夹中。它似乎要做的唯一事情是将两个文件放在该文件夹中:unins000.exe和unins000.dat。它似乎忽略了我想放在那里的文件,但是当我编译它时,肯定会将它们包含在Setup.exe文件中。这里是脚本 - 有人可以告诉我这里可能是错的吗?目标文件夹或文件是否存在似乎并不重要 - 我得到的结果相同。Inno Setup不包括目标文件夹中的任何指定文件

; -- LEAP.iss -- 

[Setup] 
AppName=LEAP 
AppVersion=1.1 
DefaultDirName={localappdata}\LEAP 
DefaultGroupName=LEAP 
Compression=lzma2 
SolidCompression=yes 
OutputDir=userdocs:Inno Setup Output 

[Files] 
Source: "China.accdb"; DestDir: "{localappdata}"; DestName: "China.accdr" 
Source: "Replica of China_be.mdb"; DestDir: "{localappdata}" 

[Icons] 
Name: "{group}\LEAP"; Filename: "{localappdata}\China.accdr" 
Name: "{userdesktop}\LEAP"; Filename: "{localappdata}\China.accdr" 

回答

6

要在[Files][Icons]部分与{app}更换{localappdata}。一旦用户在“选择目标位置”向导页上选择安装位置,将定义{app}常量。您的最终用户可能不会意识到您已经允许他们选择安装程序的位置,只是发现您实际上在安装程序中对该位置进行了硬编码。

如果您不想让他们选择一个位置,请在[Setup]中设置DisableDirPage=true

您还应该在[Setup]中建立一个AppID值。

+0

好吧,我不希望他们选择位置,所以这很有帮助,但是如果我希望文件进入其本地AppData文件夹,为什么要使用{app}?他们不会把它们放在Program Files中吗?或者你认为这就是为什么它没有把文件放在那里?因为某些原因,它不想将它们放入{localappdata}中? – tbaker818

+1

无论用户放入“选择目标位置”向导页面,“{app}”都会展开,默认情况下,您将默认设置为“DefaultDirName”。既然你已经将它设置为'{localappdata} \ LEAP',那么这就是默认的,你应该使用它。但是请注意,像这样安装到每个用户文件夹意味着您还必须使用'PrivilegesRequired = lowest'。 – Miral

相关问题