像可移植一样将项目发布到 exe

本文关键字:项目发布 exe 一样 可移植 | 更新日期: 2023-09-27 17:56:56

我正在使用Visual Studio 2012 - c#

我做了一个程序来观看视频(该程序将被放置在CD上自发工作,例如教育CD)

如何将我的项目发布到 exe(如可移植),以便任何人都可以运行我的程序而无需运行安装程序?

像可移植一样将项目发布到 exe

这需要大量的准备工作,但最简单的解决方案如下:

  • 针对最常见的框架 - .NET 2.0 进行编译
  • 从 bin/Release 文件夹中复制可执行文件
  • 将可执行文件放在 CD-ROM 的根文件夹中
  • 创建自动运行.inf 文件

如果要针对最新版本的 .NET 框架进行编译,并非所有计算机都可能安装它。 在这种情况下,您需要一个引导程序,用于在运行应用程序之前检查框架是否已安装。

这是我在Derick Bailey的Bootstrapping The .NET Framework Without An MSI Installer上找到的另一个引导解决方案。 他使用 WSH/VBScript 来创建 boostrap。

Dim WshShell, value
Set WshShell = WScript.CreateObject("WScript.Shell")
ON ERROR RESUME NEXT
Sub Run(ByVal sFile)  
  Dim shell  
  Set shell = CreateObject("WScript.Shell")
  shell.Run sFile, 1, true
  Set shell = Nothing
End Sub
value = wshShell.RegRead("HKLMSoftwareMicrosoftNET Framework SetupNDPv4Install")
if (Err.Number <> 0) Or (value is nothing) then
  Run("dotnetdotNetFx40_Full_x86_x64.exe /passive /showfinalerror /promptrestart")
end if
run("My.Actual.App.exe")

你说:

"谢谢乔乔,但我希望我的程序在任何计算机设置中运行"

Black Frog发布的内容是正确的,您必须安装.net框架以确保您的应用程序运行,这意味着这可能不是任何计算机的选项,除非您使用下面和链接问题中概述的选项。 您最好只是在CD上分发免费视频播放器之一的现有便携式版本,然后创建一个autorun.inf文件,该文件将启动使用该播放器播放的视频。

我相信我以前也对mplayer做过类似的事情,并取得了一些成功。

显然,如果您的应用程序执行的操作不仅仅是播放视频,那么这可能不是一种选择。

如果必须使用已编写的应用程序,另一种选择是使用 .NET 链接器来包含应用所需的所有代码,包括所需的框架位,而无需安装它。 如果你想走这条路,这个问题的一些答案可能会有所帮助。