我们有一个将通过 USB 驱动器分发的 .NET 应用程序。最终用户将连接驱动器并双击 EXE(一个 .NET exe)运行它而不安装它。
现在的问题是,如果未安装 .NET,我们希望触发 .NET 安装程序,而不是显示 MS 放在那里的默认下载消息。安装程序将通过 USB 与应用程序一起分发。
一种方法可能是替换 .NET 可执行文件中的 PE 存根文件。但是我没有在 C# 编译器中看到和 /STUB 开关(尽管 C 编译器有它)。
还有什么人能想到的吗?
更新:感谢 Tim Robinson,我了解到 Windows 不处理 PE 存根文件。因此,ClickOnce 解决方案似乎是唯一可行的解决方案。我将检查 ClickOnce。