我正在使用WiX XML创建安装包。
我希望用户/安装程序能够做的一件事是从几个配置文件(即config1.txt,config2.txt,config3.txt)中的一个(并且只有一个)中选择安装完成后在同一位置结束(即最终文件是config.txt)。我如何在WiX中执行此操作?
手动安装允许用户将所需的配置文件复制到最终位置/文件。即,如果用户想要使用config2.txt,则将config2.txt复制到config.txt。他负责该计划。然后,如果他需要使用config1.txt,他会将config1.txt复制到config.txt并运行该程序。
知道如何在WiX中执行此操作吗?
提前致谢!
-Adeena
答案 0 :(得分:1)
我使用CopyFile标签解决了类似的问题;
某处我有<Directory>
,其中包含以下内容:
<Component Id="Config_6.txt" Guid="{}">
<File Id="Config_6.txt" Name="Config_6.txt" KeyPath="yes" Source="..\..\..\bin\Config_6.txt" />
</Component>
<Component Id="Config.txt" Guid="{}">
<File Id="Config.txt" Name="Config_8.txt" KeyPath="yes" Source="..\..\..\bin\Config.txt" />
</Component>
<Component Id="Config_7.txt" Guid="{}">
<File Id="Config_7.txt" Name="Config_7.txt" KeyPath="yes" Source="..\..\..\bin\Config_7.txt" />
</Component>
<Component Id="R8_Config.txt" Guid="{}">
<CreateFolder/>
<CopyFile Id="R8_Config.txt" FileId="Config.txt" DestinationName="Config.txt"/>
</Component>
<Component Id="R7_Config.txt" Guid="{}">
<CreateFolder/>
<CopyFile Id="R7_Config.txt" FileId="Config_7.txt" DestinationName="Config.txt"/>
</Component>
<Component Id="R6_Config.txt" Guid="{}">
<CreateFolder/>
<CopyFile Id="R6_Config.txt" FileId="Config_6.txt" DestinationName="Config.txt"/>
</Component>
在功能部分中有这样的内容:
<Feature Id="Config" Title="Config directory" Display="expand" Level="1" ConfigurableDirectory="Config">
<Feature Id="Config8" Title="Config 8" Level="1" Description="Select only one version!">
<ComponentRef Id="R8_Config.txt"/>
</Feature>
<Feature Id="Config7" Title="Config 7" Level="1002" Description="Select only one version!">
<ComponentRef Id="R7_Config.txt"/>
</Feature>
<Feature Id="Config6" Title="Config 6" Level="1004" Description="...">
<ComponentRef Id="R6_Config.txt"/>
</Feature>
</Feature>
要显示功能,请添加包含CustomizeDlg
的UIRef,例如:
<UIRef Id="WixUI_FeatureTree" />
此解决方案的缺点是用户可以选择多个配置文件。这可能会导致最后一个成为活跃的。
答案 1 :(得分:1)
这是一个网络应用程序吗?这些ini文件或xml文件还是别的什么?我更喜欢应用程序配置在首次启动时安装后由应用程序本身完成(如果它是exe文件)。安装是关于获取默认设置和文件,在我看来,任何自定义配置都超出了初始部署的范围。
Wix提供了在安装过程中更新xml文件的功能,下面是一个示例:http://www.tramontana.co.hu/wix/lesson6.php#6.10。如果它是XML文件,这将允许您将特定的配置设置写入文件。
没有什么可以阻止您在同一个文件夹中安装多个相同配置文件,并允许用户在它们之间手动切换。如果切换基础文件,通常会改变哪些值?一个或多个设置?