2012-04-04 120 views
1

我有一个简单的inno-setup脚本,它允许我的安装程序根据Is64BitInstallMode值安装我的程序的32位或64位版本。这很好,但我想给用户选择安装32位版本,即使他们在64位Windows上。我希望在选择应用程序安装路径之前做出选择,以便可以根据自己的选择默认选择32位或64位程序文件文件夹。如果他们在32位窗口上,我也想完全避免这个问题。我一直在玩各种功能,但还没有想办法做到这一点。如果我不能轻松做到这一点,我只会做两个单独的安装(我试图决定什么是最有意义的!)任何建议,非常感谢!允许用户在64位窗口上安装32位版本

回答

2

我没有实际做过尚以下,但是这是我想尝试:

  1. 你需要一个新的安装程序页面,允许用户选择32位或64位版本是否应安装(此页面只能在64位Windows上显示)
  2. 您需要一个变量来保存用户选择的“比特性”指示符。它应该在32位系统上初始化为32位,在64位系统上初始化为64位,具体取决于Is64BitInstallMode
  3. 1.中的页面完成后,您应该更新2中创建的变量,其值反映了用户的选择。
  4. 为32位和64位版本的文件添加到安装程序
  5. 添加返回true如果要安装64位版本的新功能(如Install64BitVersion
  6. 添加如果32位版本,返回true新功能应安装(例如Install32BitVersion
  7. 变化在Files部的File的条目被有条件地安装:

这是一个EXA mple为Files部分:

[Files] 
Source: 32bitexe.exe; DestDir: {...}; Check: Install32BitVersion 
Source: 64bitexe.exe; DestDir: {...}; Check: Install64BitVersion 
+0

谢谢,我看到你关于制作自定义页面另一个答案,所以我会用自定义页面思想实验。在显示该页面之前更改默认目标目录的任何想法? – MarkF 2012-04-04 12:26:29

+0

其实,你应该考虑在*显示页面后改变它*。我没有提到它,因为我不确定在32位应用程序安装在64位程序文件文件夹下时是否出现问题。 – 2012-04-04 12:28:19

+0

我发现了另一个问题,通过修改代码中的编辑字段来解决这个问题。我只是想改变初始默认值,我不想覆盖用户的选择,因为他们可能选择不安装在程序文件(任一版本)中。 – MarkF 2012-04-04 12:31:10

相关问题