如何将Delphi App IDE目标文件夹保留在轨道中,安装程序默认值介于32和64位之间

Bri*_*ost 1 delphi inno-setup 32bit-64bit

在IDE中进行开发以便在安装它的默认位置使用Application目标文件夹时,这是最简单的,例如:

"c:\Program Files\MyAppFolder"
Run Code Online (Sandbox Code Playgroud)

因此,我将"c:\ Program Files\MyAppFolder"编码到Delphi项目的"输出目录"中,我可以通过运行我的安装程序(Innosetup)来准备开发,该安装程序使用支持的数据文件填充该文件夹等.

现在我在Windows7 64和Windows 7 32之间移动,我的安装程序想将它的(32位)应用程序放入"c:\ Program Files(x86)",所以我需要将我的IDE输出指向:

"c:\Program Files (86)\MyAppFolder"
Run Code Online (Sandbox Code Playgroud)

这将是每个项目所需的变更.是否有我可以使用的预定义变量或允许我在32位应用程序的平台之间移动的其他方法?

Cos*_*und 11

在IDE中进行开发以便在安装它的默认位置使用Application目标文件夹时,这是最简单的

您的应用程序应该在用户安装它的任何地方工作,并且您显然知道,因为您将该位置称为"默认位置".由于应用程序应该在您安装它的任何地方工作,因此在您开发它的位置无关紧要.

Program Files由于多种原因,您的选择很糟糕:

  • 如果您在应用程序中犯了硬编码路径的错误,那么只有在客户端将应用程序安装到其他位置时,您才会了解它.
  • 在Program Files文件夹中进行开发需要您禁用UAC:您的客户端将启用UAC,因此您实际上并未在看起来像将要使用该应用程序的环境的环境中工作.
  • 您无法测试应用程序的安装程序:因为您已经在"默认位置"中拥有文件.
  • 程序文件通过两个文件夹重定向器:64位虚拟化,使32位应用程序从Program Files x86他们说的时候读取,Program FilesUAC虚拟化将Program Files文件夹的写入权限重定向到一个UserData目录中的文件夹.

我的诚实意见是,最好在Program Files雷区之外发展成另一个目录.对于我自己的开发,我把它提升到了一个新的水平:相同的应用程序是在不同的计算机上的不同文件夹中开发的.示例:我已将我的应用程序签出C:\Appname,我的同事已将其签入D:\SomeFolder\AppName