2013-03-11 78 views
0

我使用WIX toolset 3.5创建用于安装网站的msi包。我的网站是基于asp的,我在config.asp文件中有配置。 安装时我有对话框供用户插入服务器名称,数据库名称,用户名和密码。 然后我必须插入(替换)这个值到config.asp文件中。 我有几条线象: 的ConnectionString =“供应商= SQLOLEDB.1;密码= XXX;用户ID =用户;初始目录= ....修改asp文件

什么是做到这一点的最好方式,我要解析?文件某种方式。 任何例子吗?所有我已经找到了如何更换在.NET配置文件,该文件是基于XML的,有不同的方法。

感谢

回答

1

如果config.asp里的文件是不正确的XML可以使用XPATH进行处理,您将不得不编写自定义操作来执行更新.FWIW,InstallShield具有“文本替换”功能,它类似于Xml功能,但使用搜索并取代常规文本。

+0

谢谢。我熟悉自定义操作,但是您是否有一些安装屏蔽文本替换的示例? – Simon 2013-03-12 08:20:55

+0

使用InstallShield,您可以使用设计器进行编程,因此发布“示例”并不容易。以下是帮助主题:http://helpnet.flexerasoftware.com/installshield16helplib/TextFileChanges-SrchRplc.htm – 2013-03-12 11:18:37

+0

我决定使用WIX和CustomAction: String filePath = Environment.GetEnvironmentVariable(“TEMP”)+ Path.DirectorySeparatorChar +“config.asp”; 但该文件不存在于临时文件夹中。我有After =“InstallInitialize” InstallExecuteSequence。 我在做什么错了?我可以在哪里使用自定义操作访问文件? 我应该使用After =“InstallFiles”并从安装位置更改文件而不是临时位置? – Simon 2013-03-13 15:18:07