Installation 使用installshield 2011安装时修改配置文件

Installation 使用installshield 2011安装时修改配置文件,installation,configuration-files,installshield,Installation,Configuration Files,Installshield,在使用用户输入进行安装时,我必须修改配置文件,并且我正在使用installshield 2011基本msi项目。我想这可以通过xml文件更改来实现,所以我为这些用户输入创建了一个带有编辑字段的对话框,并将字段与属性相关联,但不清楚如何将属性与配置中的值相关联。怎么做呢??这是我的配置文件的结构: <configuration> <appSettings> <add key="Color" value=""></add>

在使用用户输入进行安装时,我必须修改配置文件,并且我正在使用installshield 2011基本msi项目。我想这可以通过xml文件更改来实现,所以我为这些用户输入创建了一个带有编辑字段的对话框,并将字段与属性相关联,但不清楚如何将属性与配置中的值相关联。怎么做呢??这是我的配置文件的结构:

<configuration>
    <appSettings>
        <add key="Color" value=""></add>
        <add key="Shape" value=""></add>
    </appSettings>
<configuration>


用户必须设置颜色和形状的值。也许,使用其他类型的项目更好吗??谢谢。

我总是使用文本文件更改,并按如下方式设置配置文件

<configuration>
    <appSettings>
        <add key="Color" value="">%color%</add>
        <add key="Shape" value="">%shape%</add>
    </appSettings>
<configuration>

%颜色%
%形状%
然后将文本replace设置为搜索*.config 并用对话框中的输入替换文本%color%和%shape%


希望这对InstallShield XML更改使用XPath语句有所帮助。这需要一点时间来适应,所以试试这样的东西

在XML文件更改中,选择XML文件并右键单击新建文件。在“常规”表中,选择要操作的目录和文件名,以及导致发生更改的正在安装的功能

右键单击XML文件并选择添加预定义元素|.NET配置文件| Web配置文件|应用程序设置|添加

您将看到InstallShield编写了以下查询:

/配置/appSettings/add[@key=“key”和@value=“value”]

这告诉MSI获取对add节点的引用,该节点是appSettings节点的子节点,appSettings节点是配置节点的子节点,其中key属性等于“key”的文本,value属性等于“value”的文本。实际上,您需要调整此XPath语句以基于@Key=“Color”进行比较,并忽略value属性。一旦它引用了这个节点,您就可以告诉它创建/设置“value”属性的值,以用于属性的内容。请记住,在MSI中,[]符号返回指定属性的值。([SOMEPROP]将返回SOMEPROP的值)

以下是一些阅读材料:


如果所有这些XML内容对您来说都太难了,那么InstallShield的最新版本也有一个文本文件更改,可以像SteveLovell提到的那样完成。

我强烈建议任何人不要在XML文件中查找/替换。它很脆。如果将示例中的文件更新为其他节点(例如)的%color%或%shape%,则事情会变得更复杂。Installshield不会使此过程变得简单,这可能是一种可行的替代方法。