我们有一个将通过USB驱动器分发的.NET应用程序。最终用户将连接驱动器并双击EXE(.NET exe)以运行它而不安装它。
现在的问题是,如果没有安装.NET,我们希望触发.NET安装程序,而不是显示MS放在那里的默认下载消息。安装程序将通过USB与应用程序一起分发。
这样做的一种方法可能是替换.NET可执行文件中的PE存根文件。但我没有看到和/ STUB切换到C#编译器(虽然C编译器有它)。
还有其他人能想到的吗?
更新:感谢Tim Robinson,我知道Windows不会处理PE存根文件。因此,ClickOnce解决方案似乎是唯一可行的解决方案。我将检查ClickOnce。
答案 0 :(得分:3)
为什么不使用ClickOnce,它会为您完成所有这些。
答案 1 :(得分:2)
您可以查看本集“Hanselminutes”
http://www.hanselman.com/blog/HanselminutesPodcast138PaintNETWithRickBrewster.aspx
他与Paint.NET的创建者交谈,后者最终使用安装程序做了一些非常有创意的事情。