安装 AutoCAD 2019 .NET Wizards 时,要求必须先安装 Visual Studio 2017 和 .NET Framework 4.7。
如果电脑上已经安装了更高版本的 .NET Framework,比如 .NET Framework 4.8,此时即使安装了 .NET Framework 4.7,AutoCAD 2019 .NET Wizards 也仍然会提示 AutoCAD 2019 .NET Wizards Requires .NET Framework 4.7 to be installed
。
通常我们想到的第一个解决办法,是卸载掉更高版本的 .NET Framework,但实际这个办法并不能解决问题。
AutoCAD 2019 .NET Wizards 检测了注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release
的值,卸载 .NET Framework 并不能改变 Release
的值,所以这个办法是无效的。
参阅 Troubleshooting instructions for the AutoCADDotNetWizard 2019 installation.
《AUTOCAD 2019 net wizard 安装时提示未安装.net framework 4.7》这篇文章提供了一个有效的解决办法。
这是 Autodesk 论坛上一个叫 Markus 的人给出的解决办法。Markus 提供了三个转换程序 LcsMst4DotNet472.mst 、 LcsMst4DotNet47-8.mst 和 LcsMst4DotNet47ff.mst。
LcsMst4DotNet47ff.mst 是最终版,可以代替 LcsMst4DotNet472.mst 和 LcsMst4DotNet47-8.mst。
然后,通过 msiexec 命令执行安装包 AutoCADNetWizards.msi,并通过 TRANSFORMS 参数调用转换程序 LcsMst4DotNet47ff.mst。
msiexec /i AutoCADNetWizards.msi TRANSFORMS=LcsMst4DotNet47ff.mst
对于转换程序,Markus 是这样解释的:
参阅 Cannot install AutoCAD 2019 .NET Wizard
AutoCADNetWizards.msi 检测注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release
的值必须为 460798
或 460805
或 461308
或 461310
,那么修改 Release
的值为其中一个,是不是就可以了呢?
很遗憾,想法虽然很好,但实现不了。修改时会提示
换个思路,既然无法修改注册表,那么我们可不可以修改 msi 安装包的安装条件?经过实践,这个办法是可行的。
这里需要用到一个叫做 Orca 的工具,Markus 在解释转换程序时提到了这个工具。
Orca 是微软提供的免费的 MSI 编辑器,随 Windows SDK 一起发布。所以要使用 Orca 的话,安装 Visual Studio 2017 时,应该同时安装 Windows SDK。但 Orca 默认是不安装的,Windows SDK 里只提供了 Orca.msi 安装包。要使用 Orca,我们需要自己找到 Orca.msi 文件,安装之后,才可以使用。
Windows SDK 的安装路径,默认是 C:\Program Files (x86)\Windows Kits
,到 C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86
文件夹里,找到 Orca-x86_en-us.msi
文件,双击执行。
安装成功后,到开始菜单里找到 Orca。启动 Orca,打开 AutoCADNetWizards.msi
文件,在左侧列表里找到 LaunchCondition,如下图
我们要做的,就是在右侧的 Condition 里加入注册表里 Release
的值。
在 Windows 任务栏的搜索框里输入 regedit
,打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
,查看 Release
的值:
把注册表 Release
的值添加到 AutoCADNetWizards.msi
的 LaunchCondition
里,然后点击 Orca 工具栏的【保存】按钮。
关闭 Orca。然后再运行 AutoCADNetWizards.msi
,就可以正常进入安装界面了。
这个办法是到 github 上下载 AutoCAD .Net Wizards 源码 来修改,并非适合每个人。有兴趣的话,可以参考这篇文章:
Visual Studio 2019安装AutoCAD_2020_dotnet_wizards