必要时从USB驱动器安装.NET framework

必要时从USB驱动器安装.NET framework,.net,stub,portable-executable,.net,Stub,Portable Executable,我们有一个.NET应用程序,将通过USB驱动器分发。最终用户将连接驱动器并双击EXE(一个.NET EXE)来运行它,而无需安装它 现在的问题是,如果没有安装.NET,我们希望触发.NET安装程序,而不是显示MS放在那里的默认下载消息。安装程序将通过USB与应用程序一起分发 一种方法是替换.NET可执行文件中的PE存根文件。但我没有在C#编译器中看到and/STUB开关(尽管C编译器有它) 还有其他人能想到的吗 更新:多亏了Tim Robinson,我知道Windows不会处理PE存根文件。因此

我们有一个.NET应用程序,将通过USB驱动器分发。最终用户将连接驱动器并双击EXE(一个.NET EXE)来运行它,而无需安装它

现在的问题是,如果没有安装.NET,我们希望触发.NET安装程序,而不是显示MS放在那里的默认下载消息。安装程序将通过USB与应用程序一起分发

一种方法是替换.NET可执行文件中的PE存根文件。但我没有在C#编译器中看到and/STUB开关(尽管C编译器有它)

还有其他人能想到的吗


更新:多亏了Tim Robinson,我知道Windows不会处理PE存根文件。因此,ClickOnce解决方案似乎是唯一可行的解决方案。我将检查ClickOnce。

为什么不使用ClickOnce,它将为您完成所有这些。

为什么不使用ClickOnce,它将为您完成所有这些。

您可能想查看这一集的Hanselminutes


他与Paint.NET的创建者交谈,后者最终用安装程序做了一些非常有创意的事情。

你可能想看看这一集的Hanselminutes


他与Paint.NET的创建者交谈,后者最终对安装程序做了一些非常有创意的事情。

在启动实际程序之前,制作一个小的Win32 PE可执行文件,检查并启动.NET运行时,怎么样?PE存根就在那里,以防有人在不安装Windows的情况下运行您的程序。就Windows而言,您的程序唯一的特殊之处在于它缺少DLL。在启动实际程序之前,制作一个小的Win32 PE可执行文件,检查并启动.NET运行时如何?PE存根就在那里,以防有人在不安装Windows的情况下运行您的程序。就Windows而言,您的程序唯一的特殊之处在于它缺少一个DLL。