2012-03-14 30 views
3

我想创建一个文件'setup.exe',其中包含我在C#中开发的一个应用程序以及.Net Framework 4.0的设置。如何在一个可执行文件中打包安装(框架+应用程序)?

的想法是:当我执行“的setup.exe”这个人会检查是否有安装在计算机上的.NET Framework 4.0,如果不安装它!

使用InstallShield 2009年

任何人知道如何做到这一点?

让我知道如果什么都不懂。

谢谢。

回答

0

我解决了这个问题,创建自定义的动作,这个人会是“打开可执行文件的类型,我叫这个自定义在向导的按钮事件中的动作。

1

是可行的包装完整(分裂)设置在一个自解压?您可以使用WinRar或类似的软件构建一个带有“自动运行”的压缩exe文件。

+0

这个提取器会是'.exe'文件,当我点击执行它会提取所有并开始安装? – 2012-03-14 16:12:30

+0

是的。您可以指定自解压时要运行的程序。 WinRar是我想到的第一个自动提取器,但我相信你会发现1000 – 2012-03-14 16:14:45

+0

使用winrar,我该怎么做? – 2012-03-14 16:22:08

2

关于设置您可以使用内置的机制来与Visual Studio,它们允许例如使SETUP.EXE自动检查是否安装了必要的框架版本,如果不存在,安装它 - 一个很好的起点看MSDN

关于使您的应用程序/ EXE由1个文件,包括所有被管理的依赖,你有几种选择:

OR

  • 使用一些工具,如SmartAssembly (商业)
    它可以嵌入和除其他外合并(无需改变你的源代码)

OR

  • code that yourself in less than 10 lines(免费的,但最小的源代码更改)
    标记所有所需的依赖作为“嵌入式资源” - 通过这种方式,它们被包含在EXE文件中......您需要设置一个AssemblyResolve处理程序,它在运行时从资源中读取并将所需的DLL返回到.NET运行时...
2

有很多创建设置的框架。
我最喜欢的是WIX,你可以从这里下载:http://wix.sourceforge.net/
还有一个使用C#创建WIX接口的框架,叫做sharpsetup,你可以从这里下载它:http://sharpsetup.eu/但我不确定它会适合你因为目标机器可能没有.NET开始(尽管可能在.NET 2.0中编写安装程序,但我不确定)。

学习维克斯可能需要一些时间,但一旦你过去的这一点,它不应该太难做你想做的。

0

无法与2009年标准的InstallShield,据我所知。您必须至少安装InstallShield 2010(使用适用于Visual Studio 2010的Installshield 2010扩展包)。

我不知道是否有在“窃取”它的方式...

相关问题