2

我们正在.net 上构建一个应用程序,它是一个使用.net 3.5 的图像查看器应用程序。此应用程序将与其他图像一起在 CD 上。

我的问题是,当您在不包含 .NET 框架的机器上插入 CD 时,是否可以自动运行此应用程序。

或任何其他构建从 CD 运行的应用程序的方法。

4

5 回答 5

4

自动运行是 Windows 的一项功能。它实际上与.NET 没有任何关系。您可以通过将适当的文件放在 CD 的根目录中来使用它。

见:http ://en.wikipedia.org/wiki/AutoRun

要在未安装 .NET 框架的情况下执行 .NET 应用程序,请将 Autorun.inf 指向您的应用程序的安装程序,该安装程序也将部署在 CD 上。

于 2011-03-03T06:54:16.820 回答
3

当应用程序找不到所需的库时,将无法直接运行。

您可以做的是创建一个不依赖于 .NET 的引导程序,包括框架安装程序。

因此,当 CD 自动运行时,运行引导程序,引导程序将运行安装程序。安装后,运行应用程序。

于 2011-03-03T06:53:14.417 回答
1

不,您不能在未安装 .NET Framework 的计算机上运行 .NET 应用程序。在我看来,这是一条硬性规定,而且非常直观。不知何故,这个问题仍然被问了很多。

但 Auto Run 与 .NET Framework 无关。这是 Windows 操作系统提供的一项功能,旨在直接从插入的安装介质运行您的设置/安装程序,而无需任何类型的用户交互。

所以你应该做的是为你的 .NET 应用程序创建一个安装程序。您可以在 Visual Studio 中执行此操作:只需创建一个安装项目而不是 Windows 窗体应用程序。安装程序将负责检测计算机是否安装了适当版本的 .NET Framework,并在必要时将其与应用程序一起安装。安装引导程序将能够在没有安装 .NET Framework 的情况下运行,因此您可以创建一个autorun.inf文件,简单地指定setup.exe为要自动启动的应用程序。

于 2011-03-03T06:58:11.663 回答
1

我已经使用单声道来执行此操作几次,而不是使用另一个答案中提到的静态链接,而是通过在 cd (或其子集)上包含单声道分布。Mono 在修改注册表、system32 等方面似乎并没有做太多的事情。所以你可以做一个 if 的 xcopy 部署,或者在这种情况下进行 CD 部署。你最终会运行 mono.exe

于 2012-05-08T13:00:42.883 回答
0

我认为 Mono 支持某种形式的不需要安装的静态链接。但我自己从未尝试过。

于 2011-03-03T08:29:57.977 回答