我想创建一个文件“setup.exe”,其中包含我用 C# 开发的一个应用程序,以及 .Net 框架 4.0 的设置。
这个想法是:当我执行'setup.exe'时,这个会检查计算机上是否安装了.net framework 4.0,如果不安装!
使用 InstallShield 2009。
任何人都知道如何做到这一点?
如果有什么不明白的,请告诉我。
谢谢。
我想创建一个文件“setup.exe”,其中包含我用 C# 开发的一个应用程序,以及 .Net 框架 4.0 的设置。
这个想法是:当我执行'setup.exe'时,这个会检查计算机上是否安装了.net framework 4.0,如果不安装!
使用 InstallShield 2009。
任何人都知道如何做到这一点?
如果有什么不明白的,请告诉我。
谢谢。
有许多用于创建设置的框架。
我最喜欢的是 WIX,你可以从这里下载它: http
://wix.sourceforge.net/
还有一个使用 C# 创建 WIX 接口的框架,叫做sharpsetup,你可以从这里下载它:http://sharpsetup。 eu/但我不确定它是否适合您的需求,因为目标机器可能没有 .NET 开始(尽管可能在 .NET 2.0 中编写设置,但我不确定)。
学习 WIX 可能需要一些时间,但是一旦你完成了这些,做你想做的事情应该不会太难。
关于设置,您可以使用 Visual Studio 附带的内置机制,例如,它们允许 setup.exe 自动检查是否安装了所需的框架版本,如果不存在则安装它 - 为了一个好的开始,请参阅MSDN。
关于使您的应用程序/EXE 包含 1 个文件,包括所有托管依赖项,您有几个选项:
或者
或者
AssemblyResolve
处理程序,该处理程序在运行时从 Resources 读取并将所需的 DLL 返回给 .NET 运行时...将您的完整(拆分)设置打包在自解压器中是否可行?您可以使用 WinRar 或类似工具来构建带有“自动运行”的压缩 exe。
我解决了这个问题,创建了一个自定义操作,这将是“打开可执行文件”类型,我在向导的按钮事件中调用了这个自定义操作。
据我所知,标准的 InstallShield 2009 是不可能的。您必须至少拥有 InstallShield 2010(带有适用于 Visual Studio 2010 的 Installshield 2010 扩展包)。
我不知道是否有办法“破解”它......