将项目发布到像便携式的exe

时间:2014-04-05 15:36:21

标签: c# visual-studio-2012 portable-applications

我正在使用visual studio 2012 - c#

我制作了一个观看视频的节目(该节目将放在CD上自发工作,如教育CD)

如何将我的项目发布到exe(如便携式),以便任何人都可以运行我的程序而无需运行设置?

2 个答案:

答案 0 :(得分:3)

需要做很多准备,但最简单的解决方案如下:

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

如果要编译最新版本的.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的一些答案可能会有所帮助。