繁体   English   中英

在MSI安装程序中使用C#创建自定义对话框

[英]Creating custom dialog using C# in MSI installer

我们(我的项目团队)已经为VS 2010 Windows应用程序安装了现有的MSI安装程序。 我们正在使用一个许可证文件来验证Windows安装。 我们正在使用标准的VS安装项目进行安装。

当前,我们在MSI安装中使用测试框来获取许可证文件路径,因此用户必须手动复制并粘贴许可证文件路径。 我想通过添加一个“浏览文件”按钮来更改此设置,该按钮显示“浏览文件”对话框以选择许可证文件,并在选择文件时自动填充文本框。

我已经使用Orca工具来修改UI,以便在安装UI中的现有文本框旁边添加一个按钮。

我的问题是:是否可以编写一些C#托管代码来显示,例如说“打开文件”对话框以选择许可证文件,然后填充文本框。 我知道可以通过编写C / C ++代码来实现。 我看到很多人使用WIX工具集来创建安装文件。 现在,我无法创建新的安装程序安装程序项目,因为它涉及到学习WIX,并且我现在没有时间。

我不认为有可能。
开箱即用的MSI不支持托管代码,因此您将无法编写托管对话框。
但是,您可以编写引导程序以将自定义图形界面附加到安装程序。 但是,这非常复杂。

我知道您写过您不能在此阶段转换为WIX,但我可以向您保证,如果您知道MSI结构,那么学习它将会非常容易。
而且,您可以使用SharpSetup为安装程序创建C#GUI。

这是可能的(请参阅DTF之类的工具,该工具可以将.NET代码包装在非托管DLL中),但是对于调用GetOpenFileNameMsiSetProperty的自定义操作的复杂程度,我建议避免对.NET框架的额外依赖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM