SolidWorksVCVSTA安装权限注册表策略组相关问题,已解决Feel free for technical discus.
背景
安装SolidWorks失败,卸载不⼲净,也删除清除不了,不想重装,边搜索解决⽅案边整理。截⽌2021-1-14,搜索了众多中英⽂条⽬。
虽然是针对⾃⼰的问题,最终⾃⼰调试解决,但感觉覆盖了很多相关问题。萝⼘L发于博客园
本⽂范围
以SolidWorks (SW) 2020为主,应该涵盖2019、2018、2016、2015。
以64位(64-bit)为主,应该适⽤于32位(32-bit)。
涉及的组件:
Microsoft Visual Studio Tools for Applications 2015 (VSTA)。安装程序包名称。
Visual C++ Redistributable Packages for Visual Studio 2013(VC Redistributable),安装程序包⽂件名
称VCRedist15\(vc_redist.x86),(vc_redist.x64)。
VCRedist15,VCRedist12,VCRedist11是⼀类,VCRedist10,VCRedist9是⼀类。
vcRuntime Minimum/Additional。
涉及的问题/故障:
安装管理程序⽆法在此注册表位置⽣成注册表项: HKLM\Software\Wow6432Node\SolidWorks
0x80070005 - 拒绝访问
0x80070005 Failed to create registration key
0x80070659 系统策略禁⽌这个安装。请与管理员联系。,系统管理员设置了系统策略,禁⽌进⾏此安装。(This installation is forbidden by system policy. Contact you system administratior)
Error 0x80070659: Failed to install MSI package,Failed to execute MSI package.,Failed to configure per-machine MSI
package.,Error 0x80070659: Failed to execute MSI package.
安装管理程序遇到严重错误
Could not open key: UNKNOWN\Components\xx\yy.  Verify that you have sufficient access to that key, or contact your support personnel.
涉及的系统配置:
注册表(Registry)
策略组(GPO: Group Policy Object)。(实质为注册表的图形界⾯)
权限(Permissions、Rights)。关于⽤户、⽤户组,分⽂件夹,注册表访问权限。
⽤户账户控制设置(UAC)。即以管理员⾝份运⾏。
涉及的⽇志记录:
SolidWorks的记录:C:\Users\⽤户名\AppData\Roaming\SOLIDWORKS\Installation Logs\SummaryIMLog_20200-
(如后安装过程提及的)各基础运⾏库的记录:
C:\Users\⽤户名
\AppData\Local\Temp\dd_vcredist_amd64_XXXXXXXXXXXXXX.log、dd_vcredist_x86_XXXXXXXXXXXXXX.log
C:\Users\⽤户名\AppData\Local\Temp\dd_vsta_setup_(var.MajorVersion)_XXXXXXXXXXXXXX.log
安装过程:
1. .\实际调⽤\。由其主导安装以下基础运⾏库、安装包。
2. 先安装基础运⾏库。位于.\PreReqs\。为可执⾏⽂件(后缀.exe),可(⽆配置、参数)独⽴运⾏。
3. 再安装⼦安装包(后缀.msi,即microsoft installer)。
1. 如.\swwi\data\SolidWorks.Msi、.\swwi\lang\chinese-simplified\chinese-simplified.msi等。
2. 可运⾏,但可能需要传递参数、配置。
任意⼦过程失败可能导致整个安装过程失败。
失败后,SolidWorks会有故障描述,⽣成(如上)⽇志记录。各运⾏库亦可能有⾃⼰的记录。萝⼘L发于博客园
故障分析:
调试能精准定位故障,但毕竟⿇烦,建议先尝试常规⽅法。
同时我觉得⼤多数⽤户不会特别配置系统(注册表、策略组、⽤户账户、权限等),不论主动,或由其他软件所设置。
故障通常源于未卸载⼲净(卸载过程中断、甚⾄卸载后没及时重启、死机等)。
不能具体问题具体分析,就先多尝试吧。萝⼘L发于博客园
常规故障处理:
对基础运⾏库故障。
1. 按提⽰安装;
2. 当已安装,若有选项尝试修复;
3. 若修复失败,尝试先卸载,后安装;
4. 尝试安装⾼版本覆盖。
⾼版本不是指VC2019⾼于VC2015,⽽是主版本号相同,⼦版本号更⾼。
版本号可能不体现在⽂件名上(VC2019、VC2015可能都叫)。
运⾏时会有版本号,或者⽂件的属性\详细信息\⽂件版本处。
5. 安装/卸载/覆盖失败,处理见后。
注意,运⾏库虽然不算系统组件,不会导致系统故障,但可能被其他软件依赖使⽤,卸载后应及时安装,且⼀个⼀个卸载尝试。
对SolidWorks⼦安装包。
虽然可以从(如上)⽇志记录⾥、任务管理器⾥到参数配置,从命令⾏⼿动调⽤,但难以⼿动进⾏整个安装流程,可能仅适合分离出来便于调试。
最终应使⽤安装。
异常故障处理:
硬盘检查。
貌似不多余。若系统未正常关闭,可能安全描述符异常,⽂件、⽂件夹链接、权限异常。
运⾏ chkdsk /f /r ,下次开机后扫描,持续半⼩时左右。
策略组。
运⾏ gpedit。
检查项:
[计算机配置|⽤户配置]\管理模板\Windows 组件\Windows Installer)(Computer Configuration -> Administrative Templates -> Windows Components -> Windows Installer)下的配置状态。
默认均为未配置即可。
批量检查:
gpresult /h /f gpreport.html导出当前配置报告。查看是否有修改过。
重置:
⽅法1:运⾏ secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose。
⽅法2:删除⽬录 %WinDir%\System32\GroupPolicyUsers 、 %WinDir%\System32\GroupPolicy 。(可命令⾏ RD /S /Q
<path> 执⾏)
更改后可 gpupdate /force 更新。
注册表
运⾏ regedit 。
检查项:
HKEY_CURRENT_USER\SOFTWARE
\eDrawings
(官⽅建议)如果安装了PDM,谨慎操作,仅可删除IM & \SolidWorks SOLIDWORKS [版本]、. **
\SOLIDWORKS 20XX
\SolidWorks BackOffice
\SRAC
\Microsoft\VSTAHOST
\Microsoft\VSTAHostConfig
HKEY_LOCAL_MACHINE\SOFTWARE **Wow6432Node适⽤于64位环境**
\eDrawings
\SolidWorks the IM & SOLIDWORKS [version] subkeys. **
\SolidWorks Corporation
\SRAC
(官⽅建议)如果安装了PDM,谨慎操作,仅可删除IM & \SolidWorks SOLIDWORKS [版本]、. **
\Wow6432Node\SolidWorks Corporation
\Wow6432Node\Microsoft\VSTAHOST
\Wow6432Node\Microsoft\VSTAHostConfig
以上为SolidWorks在注册表中的位置。
建议先导出,后更改(删除或者改名使失效)。
更改项的权限:
适⽤于(上述)报错:安装管理程序⽆法在此注册表位置⽣成注册表项: HKLM\Software\Wow6432Node\SolidWorks
在上⼀级路径处右键菜单、任务栏菜单编辑中有权限。
当前⽤户(⽤户名)或其所在组有完全控制权限即可。
任务管理器提交更改重置注册表权限继承:
下载,安装。运⾏如下脚本(保存为.bat):
cd /d "%programfiles(x86)%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
32位环境将第⼀⾏%programfiles(x86)%中的%86%去掉。
时间可能半⼩时左右,随后建议⼿动重启电脑,可能导致关联软件重置(如默认浏览器)。
⽤户账户权限(UAC)
(Win10)开始菜单直接输⼊(⽽⾮运⾏) UAC 。
⽤户组
确保运⾏安装有管理权限即可。
运⾏ netplwiz 可设置。
Windows 安全中⼼
(Win10)开始菜单直接输⼊(⽽⾮运⾏) Windows 安全中⼼。
可能误删映像⽂件(.iso)。可以尝试临时关闭实时保护、篡改保护。
其他杀毒软件建议都临时关了。
开启⽇志记录
运⾏ /i 安装包⽂件名.mis /log 记录名.txt
⽂件、⽂件夹权限
⽅式1:程序 takeown , icacls 。
如"" /c takeown /f "C:\XXX" /r /d y && icacls "C:\XXX" /grant administrators:F /t 。
⽅式2:(上⾯提及的)程序 SubInACL 。运⾏如下脚本(保存为.bat):
cd /d "%programfiles(x86)%\Windows Resource Kits\Tools"
subinacl /subdirectories "C:\Program Files"\*.* /grant=administrators=f /grant=system=f
subinacl /subdirectories %programfiles(x86)%*.* /grant=administrators=f /grant=system=f
32位环境将%programfiles(x86)%⾏去掉/注释掉。萝⼘L发于博客园
其他⼯具软件:
Windows Installer CleanUp Utility()
Microsoft Program Install and Uninstall.diagcab(MPIU)MicrosoftProgram_Install_a.diagcab (AIO)
<
Process Monitor
要还不⾏建议分析⽇志记录,以及监控整个安装过程进⾏分析。
萝⼘L发于博客园
后续:
为什么没⼈写个⾃动清理注册表、⽂件夹的脚本呢,相关条⽬数量不多样;
分析⽇志,监控安装过程还是有迹可循,费点时..
相关参考:(我的流⽔记录,⽆序,不分重要程度...到⽂末)萝⼘L发于博客园
(replied)注册表项HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer, DisableBrowse  (replied)
(,)
注册表HKEY_CLASSES_ROOT\Installer\Products
注册表项HKLM\SOFTWARE\Wow6432Node\Microsoft\VSTAHost|VSTAHostConfig
(回复)
未合并的更新:
VBA 7.1,安装提⽰A newer version。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。