在启动之前检查.NET依赖项
发布时间:2020-05-27 10:07:50 所属栏目:程序设计 来源:互联网
导读:我有几个应用程序,我工作,并喜欢分发给需要Microsoft提供.dll和/或框架的朋友.具体来说,XNA.我已经厌倦了从他们那里收回电子邮件说“它崩溃了”,而实际上发生的一切都是他们没有安装XNA(或.NET 3.5,或其他).但是,Main无法捕获这些错误,因为.exe在main执行之前
|
我有几个应用程序,我工作,并喜欢分发给需要Microsoft提供.dll和/或框架的朋友.具体来说,XNA.我已经厌倦了从他们那里收回电子邮件说“它崩溃了”,而实际上发生的一切都是他们没有安装XNA(或.NET 3.5,或其他).但是,Main无法捕获这些错误,因为.exe在main执行之前加载它们. 所以,我的问题是,我将如何创建一个可以检查.NET 3.5,XNA等内容的启动器并显示一个很好的错误消息(“此应用程序需要XNA 3.0,在此处下载!”)而不是看起来好像崩溃了吗? 更新:我应该指定我想在不使用安装程序的情况下执行此操作.我有一个锅炉板WIX安装程序,允许我检查依赖性,但有时我只想上传一个拉链供人们玩. 要在没有安装程序的情况下执行此操作,您可能需要创建一个“启动程序”脚本,该脚本除了在预先执行任何依赖性检查之后调用“真实”入口点之外,还可以执行此操作.由于缺少依赖关系似乎是一个非常常见的痛苦来源,因此建议将启动程序编写成一种不会依赖于尚未在Windows上安装的依赖项的东西,例如AutoIt script打包作为可执行文件. Const $AppTitle = 'Whizzy Game'
Const $MB_ICONERROR = 16
If RegRead('HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv3.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_MACHINESOFTWAREMicrosoftXNAFrameworkv3.1','Installed') <> 1 Then
MsgBox($MB_ICONERROR,'The XNA Framework runtime v3.1 is required to run.')
Exit 1
EndIf
Exit RunWait('WhizzySoftware.WhizzyGame.EntryPoint.exe') (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
