VS.NET MSI安装程序屏幕自定义

时间:2010-12-08 20:08:30

标签: c# visual-studio installer windows-installer

我已经为我的MSI安装程序添加了两个文本框屏幕,并且有一个自定义安装程序操作,该操作挂钩回我正在安装的应用程序,以将配置设置保存到app.config文件。

我的问题是: 除了允许您将默认文本添加到MSI自定义文本框的MSI属性屏幕之外,有没有办法让MSI抓取值放入文件或Web服务的文本字段中,或者其他什么?我真的不希望这些值硬编码到MSI属性屏幕中,并且必须重新编译并重新分发才能更改它们。

我真的想在安装程序中抛出一个XML或CSV文件,并让它从该文件中读出来,但我还没有看到这样做的方法。

谢谢。

2 个答案:

答案 0 :(得分:0)

使用本机代码(C)编写的自定义操作,您可以在安装程序中执行任何操作,只要执行MSI的用户有权这样做(这取决于它是UI阶段还是执行MSI的阶段 - 后者由系统服务运行。)

答案 1 :(得分:0)

我所做的是使用GetPrivateProfileString导入“kernel32”dll,并在MSI旁边粘贴自定义编写的INI文件。我试图填写的属性屏幕已被删除,现在我可以在每个客户端的基础上部署自定义INI文件,无需重新编译,并对项目中的安装程序设置进行繁琐的更改。如果您希望我发布代码,请发送电子邮件或与我联系。