【发布时间】:2009-05-12 12:38:06
【问题描述】:
我们有一个将通过 USB 驱动器分发的 .NET 应用程序。最终用户将连接驱动器并双击 EXE(一个 .NET exe)来运行它而不安装它。
现在的问题是,如果未安装 .NET,我们希望触发 .NET 安装程序,而不是显示 MS 放在那里的默认下载消息。安装程序将通过 USB 与应用程序一起分发。
一种方法可能是替换 .NET 可执行文件中的 PE 存根文件。但我在 C# 编译器中没有看到和 /STUB 开关(尽管 C 编译器有它)。
还有什么其他人能想到的吗?
更新:感谢 Tim Robinson,我了解到 Windows 不处理 PE 存根文件。因此,ClickOnce 解决方案似乎是唯一可行的解决方案。我将检查 ClickOnce。
【问题讨论】:
-
在启动实际程序之前,制作一个小型 Win32 PE 可执行文件来检查并启动 .NET 运行时如何?
-
PE 存根就在那里,以防有人在没有安装 Windows 的情况下运行您的程序。就 Windows 而言,您的程序唯一特别之处在于它缺少 DLL。
标签: .net stub portable-executable