我有一个测试安装程序,它有2个功能A和B. A有2个文件a1和a2,B还有2个文件b1和b2(每个文件属于单个组件)。
Feature A = {a1, a2}
Feature B = {b1, b2}
每个文件的安装位置如下(有点混合):
[ProgramFilesFolder]
MyApp\
Dir1\
a1
b1
Dir2\
a2
b2
我将功能A的可配置目录设置为Dir1,将功能B设置为Dir2。
当我启动安装程序功能树对话框时,功能A的安装位置是[ProgramFilesFolder] \ MyApp \ Dir1,功能B的安装位置是[ProgramFilesFolder] \ MyApp \ Dir2,就像意思是a1, a2(特征A)安装在Dir1和b1,b2(特色B)中,安装到Dir2。
但实际安装结果是a1,b1安装在Dir1中,a2,b2安装在Dir2中。当然,与我的源代码相比,这是非常正常的行为,但是在这种情况下我无法获得可配置指令的含义。
答案 0 :(得分:3)
这适用于自定义设置对话框中的功能选择树和浏览按钮。您可以将目录与功能关联,以便用户可以选择功能所在的目录。
现实情况是,大多数应用程序都具有所有功能(如果它们首先有多个功能)都使用相同的可配置目录。 (对于WiX安装INSTALLLOCATION,为VDPROJ安装TARGETDIR或为InstallShield安装INSTALLDIR)即使这样,组件实际上可以拥有他们所需的目录,因此更改功能的目的地实际上并不意味着该功能中的每个组件都将用于那个目录。有些人可能需要去像SystemFolder这样的地方。
在更高级的方案中,您可能会将功能分解为Windows应用程序,Windows服务,WebUI,并且您可能希望选择每个功能在计算机上的位置。
有意义吗?
答案 1 :(得分:0)
总结:
如果我理解正确,ConfigurableDirectory
某项功能仅对其{em> 下安装的组件ConfigurableDirectory
有效。也就是说,用户只能更改ConfigurableDirectory
下的(特征的)组件的目标目录。