我们正在.net上构建一个应用程序,它是一个Image Viewer应用程序使用.net 3.5。 此应用程序将与其他图像一起放在CD上。
我的问题是,当您在不包含.NET Frame Work的计算机上插入CD时,是否可以自动运行此应用程序。
或者构建从CD运行的应用程序的任何其他方法。
答案 0 :(得分:4)
自动运行是Windows的一项功能。它与.NET无关。您可以通过在CD的根目录中放置适当的文件来使用它。
请参阅:http://en.wikipedia.org/wiki/AutoRun
为了执行安装了.NET框架的.NET应用程序,请将Autorun.inf指向您应用程序的安装程序,该安装程序也将部署在CD上。
答案 1 :(得分:3)
当应用程序找不到所需的库时,它将无法直接运行。
您可以做的是创建一个非.NET依赖的引导程序,包括框架安装程序。
因此,当CD自动运行时,运行引导程序,引导程序将运行安装程序。安装完成后,运行该应用程序。
答案 2 :(得分:1)
不,您不能在未安装.NET Framework的计算机上运行.NET应用程序。在我看来,这是一个很难的规则,也是一个非常直观的规则。不知何故,这个问题仍然被问到很多。
但是Auto Run与.NET Framework无关。它是Windows操作系统提供的一项功能,旨在直接从插入的安装介质运行您的安装/安装程序,而无需任何类型的用户交互。
所以你应该做的是为你的.NET应用程序创建一个安装程序。您可以在Visual Studio中执行此操作:只需创建安装项目而不是Windows窗体应用程序。安装程序将负责检测计算机是否安装了适当版本的.NET Framework,并在必要时与应用程序一起安装。安装引导程序将能够在没有安装.NET Framework的情况下运行,因此您可以创建一个autorun.inf
文件,该文件只指定setup.exe
作为要自动启动的应用程序。
答案 3 :(得分:1)
我已经使用mono执行此操作几次,而不是使用其他答案中提到的静态链接,而是将单声道分布包含在cd(或其子集)上。 Mono似乎没有在修改注册表,system32等方面做太多工作。所以你可以在这种情况下进行if或CD部署的xcopy部署。你最终将运行mono.exe
答案 4 :(得分:0)
我认为Mono支持某种形式的静态链接,不需要安装。但我自己从未尝试过。