我有几个应用程序,我工作,并喜欢分发给需要Microsoft提供.dll和/或框架的朋友.具体来说,XNA.我已经厌倦了从他们那里收回电子邮件说“它崩溃了”,而实际上发生的一切都是他们没有安装
所以,我的问题是,我将如何创建一个可以检查.NET 3.5,XNA等内容的启动器并显示一个很好的错误消息(“此应用程序需要XNA 3.0,在此处下载!”)而不是看起来好像崩溃了吗?
更新:我应该指定我想在不使用安装程序的情况下执行此操作.我有一个锅炉板WIX安装程序,允许我检查依赖性,但有时我只想上传一个拉链供人们玩.
要在没有安装程序的情况下执行此操作,您可能需要创建一个“启动程序”脚本,该脚本除了在预先执行任何依赖性检查之后调用“真实”入口点之外,还可以执行此操作.由于缺少依赖关系似乎是一个非常常见的痛苦来源,因此建议将启动程序编写成一种不会依赖于尚未在Windows上安装的依赖项的东西,例如AutoIt script打包作为可执行文件.
Const $AppTitle = 'Whizzy Game' Const $MB_ICONERROR = 16 If RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5', 'Install') <> 1 Then MsgBox($MB_ICONERROR, $AppTitle, 'The .NET Framework runtime v3.5 is required to run.') Exit 1 EndIf If RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\XNA\Framework\v3.1', 'Installed') <> 1 Then MsgBox($MB_ICONERROR, $AppTitle, 'The XNA Framework runtime v3.1 is required to run.') Exit 1 EndIf Exit RunWait('WhizzySoftware.WhizzyGame.EntryPoint.exe')