2009-11-16 110 views
6

嗨,我想让我的应用程序与wix v3安装msi 我有一个关于这个任务的问题; 我需要将存储在我的应用程序的配置文件 的用户输入(例如我需要SQL连接字符串和用户输入的对话框,将应用程序配置文件进行写操作。)wix自定义对话框配置编辑

我试图谷歌,但有没有工作

任何帮助,非常感谢。

回答

5

你需要做三件事情:

  1. 创建一个自定义属性:

    <Wix> 
    <Product ...> 
        <Property Id="SQLSERVER" /> ... 
    </Product> 
    </Wix> 
    
  2. 添加自定义对话框,您维克斯UI来捕捉用户输入,并将其存储到属性。这tutorial应该帮助你。

  3. 在安装您的web.config文件中的分量,用XMLFILE元素与你的属性值来更新你的web.config:

    <util:XmlFile Id="UpdateConnectionStringInConfigSection" File="[ROOT_DRIVE]inetpub/wwwroot/$(var.ProductName)/web.config" Action="setValue" ElementPath="/configuration/connectionStrings/add[\[]@name=&quot;ConnectionString&quot;[\]]/@connectionString" Value="[SQLSERVER]" Permanent="yes" /> 
    
+0

哪里来从?它不会显示在我的VS2010智能感知中。 – Andez 2012-09-17 14:16:34

+2

明白了。添加对WixUtilExtension DLL的引用,并在XML中包含名称空间 Andez 2012-09-17 17:14:08

+0

如果它可以帮助其他人,扩展上面的Andez的注释,我不得不使用下面这行来定义名称空间(在http://中添加和删除分号):'” – bigmac 2015-04-17 22:56:18