我正在使用visual studio 2012 - c#
我制作了一个观看视频的节目(该节目将放在CD上自发工作,如教育CD)
如何将我的项目发布到exe(如便携式),以便任何人都可以运行我的程序而无需运行设置?
答案 0 :(得分:3)
需要做很多准备,但最简单的解决方案如下:
如果要编译最新版本的.NET框架,并非所有计算机都可以安装它。在这种情况下,您需要bootstraper program来检查框架是否已在运行应用程序之前安装。
这是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")
答案 1 :(得分:1)
你说:
&#34;感谢JoJo,但我希望我的程序可以在没有设置的任何计算机上运行&#34;
Black Frog发布的内容是正确的,您必须安装.net框架才能确保您的应用程序运行,这意味着这可能不适用于任何计算机,除非您使用下面列出的选项并在相关的问题。您可能最好只是在CD上分发其中一个免费视频播放器的现有便携版本,然后创建一个autorun.inf文件,该文件将启动使用该播放器播放的视频。
我相信我之前已经与mplayer做过类似的事情。
显然,如果您的应用程序不仅仅是播放视频,那么这可能不是一种选择。
如果必须使用您编写的应用程序,另一个选择是使用.NET linker来包含您的应用程序所需的所有代码,包括它想要的框架位,而无需安装它。如果您想沿着这条路走下去,this question的一些答案可能会有所帮助。