Visual Studio VS 2017安装失败

uqdfh47h  于 2023-05-07  发布在  其他
关注(0)|答案(3)|浏览(300)

我在Windows 7上安装VS2017。一段时间后,我收到了错误:

MSI: C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.MinShell.Msi,version=15.6.27421.1\Microsoft.VisualStudio.MinShell.Msi.msi, Properties:  REBOOT=ReallySuppress ARPSYSTEMCOMPONENT=1  MSIFASTINSTALL="7"  VSEXTUI="1"  VS7.3643236F_FC70_11D3_A536_0090278A1BB8="G:\Program Files (x86)\Microsoft Visual Studio\2017\Community" 
        Return code: 1632
        Return code details: The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder.
    Log
        G:\TEMP\dd_setup_20180318121545_006_Microsoft.VisualStudio.MinShell.Msi.log

我查了一下G:温度位于何处。它有200 GB免费。但有一件奇怪的事:此文件夹和所有其他文件夹都是只读的。我在属性中取消选中它,然后关闭属性对话框,再次打开它:它是只读。我可以修改它,甚至MSI安装程序可以:它在那里创建了日志文件。但在安装过程中出现错误。这是什么以及如何解决这个问题?
我运行日志:

Machine policy value 'DisableUserInstalls' is 0
SRSetRestorePoint skipped for this transaction.
Note: 1: 1336 2: 3 3: C:\Windows\Installer\ 
MainEngineThread is returning 1632
No System Restore sequence number for this installation.
User policy value 'DisableRollback' is 0
Machine policy value 'DisableRollback' is 0
Incrementing counter to disable shutdown. Counter after increment: 0
Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2 
Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
Restoring environment variables
Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MainEngineThread is returning 1632
laximzn5

laximzn51#

***磁盘空间回收-快速成功?***:读得太多了?The essential options(可以说)。

最终总结

这个问题原来是重定向的TEMPC:\Windows\Installer缓存文件夹-后者位于不可用的驱动器上。

请小心重定向系统文件夹,特别是C:\Windows\Installer。它是一个超级隐藏的系统文件夹,副作用非常普遍。

必须确保重新定位的文件夹具有原始文件夹所具有的正确ACL权限。这是出于安全考虑。首先,整个文件夹可能会被不理解它的人删除-使所有软件包不可卸载和不可维护。还有其他安全原因。
另外:在我看来,把这个文件夹放在网络上在技术上是不合理的--会导致问题。如果驱动器号更改,本地驱动器也会出现问题。这就引出了下一点:

系统SSD空间不足?

如果您的真实的问题是系统SSD驱动器上的磁盘空间不足,请考虑下面列出的一些替代方案。谨慎行事,并在您自己的风险与每一个选项。大多数应该是无害的。

磁盘空间可视化:我有一个叫做SpaceMonger.exe的古老工具,它可以向我显示占用我磁盘空间的任何东西的视觉表示。非常有用。似乎不再支持此工具。也许检查https://en.wikipedia.org/wiki/WinDirStat的类似工具(未经我测试-运行它的virustotal.com)。
DriverStore:还有一句话要对所有电脑人中的常驻黑客说:不,不-不要尝试重定向%SystemRoot%\System32\DriverStore(!).“Seductive The Dark Side Is".“* 跑福雷斯特,跑!小心那把斧头尤金等等...你明白了。先不说蒙提·派森的典故。说真的:我不知道low-level stuff在 Boot 过程中会涉及到什么。有人会问Raymond Chen,但不要。他有重要的事情要做。但是:pnputil.exe, DriverStore Explorer - your own risk。不要这样做:-)。

总体建议

更新:对于笔记本电脑,我喜欢在端口中永久使用high capacity, low-profile USB flash drive和/或a high capacity SD-card来保存我的下载和安装程序VS帮助文件,甚至可能是源代码(风险更大)。这是一个明显的,但有点“笨拙”的选择。

人们可以将此驱动器与the Library feature in Windows Explorer相结合,以显示您想要的任何库下的闪存驱动器(下载,视频,图片,源代码等...)。
下面我首选的桌面光盘清理选项是:719218、1、6、11、12(按此顺序)。

笔记本电脑的首选选项:719218、6、10(减少最大缓存大小)、15、17、3(按此顺序)。
对我来说,现实世界的方法是一个稍微不同的顺序:我的天(清除过时的Windows更新-这也可能会修剪WinSxS -但我不确定),19(卸载不必要的软件-可以相对较快),然后运行SpaceMonger.exe来查找占用空间的程序并移动它们-这通常涉及到清除Downloads folder7)和 * 清除 移动 * 或 * 模糊化 * 媒体文件(图片、视频、音乐),然后6用于开发人员PC(运行Visual Studio并卸载无用的SDK和帮助文件),以及9(消除休眠-不适合笔记本电脑),18(启用压缩-可能永远占用时间),最后我可能会清除恢复分区(笔记本电脑)并在其位置创建一个新分区,以允许数据文件存储在那里(释放系统分区空间)。很明显,这次电击是一次高风险的行动。非常容易出错(特别是当没有经验的用户使用diskpart命令行工具或Linux Live Boot 工具时-如下所述)。显然,在清除恢复分区之前,请确认您有安装介质有效的许可证密钥-必须提及。我移动的数据文件通常是:源代码存储库,下载文件夹,Outlook PST文件,图像和视频等...此过程应回收数GB的磁盘空间。不要为了好玩而这样做-尽管这些选项中的大多数风险应该是可以接受的(除了恢复分区切换-这相对简单,但容易出错)。

清理选项

对这些选择持健康的怀疑态度。它们在许多情况下并不都是非常有用的-只是试图提到各种调整。潜在的容易,大的胜利没有太多的配置和摆弄可能是2,6,7,9,18。选项2和18几乎总是耗时,但非常有效。选项2可能需要几个小时(特别是在Windows 7和8上-运行时不要中止),在大型计算机或慢速磁盘上的选项18甚至更长(但操作可以取消)。

*选项0,云存储*是当今时代隐含的整体选项OneDrive FilerGDiskDropbox等按需下载数据文件。
*我的文件:通常,将用户数据文件夹**移动到网络位置或其他本地驱动器(最好)比重定向系统文件夹要好得多!很少有系统纠缠。

  • 我不会移动在这里找到的桌面或其他文件夹:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders,我会移动“我的文档”。只需在Windows资源管理器中右键单击它,转到属性,那里有一个带有功能的选项卡可以帮助您移动它。执行此操作时要小心-首先需要备份
  • PicturesVideo可能也可以移动,但不能移动桌面或其他特殊文件夹-它们可能涉及 Boot 或登录过程(错误的软件包可能导致即使是“我的文档”也会发生这种情况-没有什么是没有风险的)。
  • 来自iTunes或类似应用程序的流媒体和媒体文件显然会完全占用容量有限的光盘。我使用SpaceMonger.exe来获得概述,然后将文件移动到其他地方。
  • 对于有多个用户的计算机,显然会有多个“我的文档”文件夹要重定向。
    *微软磁盘清理工具:运行cleanmgr.exe,选择Clean up system files,如下所述:https://serverfault.com/q/573208/20599(顶部)。
    *2018年10月更新:“下载”文件夹现在是一个清理选项!**请勿启用!**它会毫无疑问地删除整个下载文件夹。此问题将于2021年10月纠正
  • 您现在可以快速卸载应用的Windows更新-这可以在系统驱动器上给予几GB。在下面的图片我可以zap 5.36 GB.对于Windows7,我已经看到几十个千兆字节被清除。
  • 此工具还可以精简和缩小WinSxS directory(Win32并行程序集文件夹)。我不是100%肯定。
  • 显然,您可以在“添加/删除程序”中删除不必要的软件包,并删除系统还原点(使用下图中的第二个选项卡访问这些功能):

*第三方清理应用:第三方工具(如CCleaner)可以清除各种应用程序和工具的缓存文件和临时文件,从而清理更多空间。这个特殊的工具suffered a malware attack recently。使用风险自担。

  • 个人意见/建议:仅用于测试箱或非关键机器。清理是相当可怕的,但它也涉及一些风险(丢失登录密码,丢失系统日志等...)。这是不言而喻的,但它可能应该被提及。
    *我的两分钱:不是一个企业解决方案,但可能是罚款的高级家庭用户谁喜欢实验和保持他们的机器调整。
    *管理安装:对于大型MSI文件,执行管理安装将阻止在C:\Windows\Installer中缓存整个MSI文件。必须从正确的网络共享安装,以便文件可用于修复操作。

  • 管理安装本质上是从MSI中提取嵌入的CAB文件,并允许创建一个网络安装点,所有计算机都可以从中提取文件,而不是在本地缓存所有文件。

  • 运行和管理安装的一般方法是:msiexec /a File.msi .更多细节请参见下面的链接。

  • 从EXE中提取MSI

  • 使用msiexec /a启动管理安装的目的是什么?

  • How can I eliminate the huge, cached MSI files in C:\Windows\Installer?

  • There is a whole lot of installer caching going on-如果你问我,这是一个有点失控。
    *挂载驱动器:有些人会尝试将外部驱动器作为文件夹安装到系统驱动器。换句话说,另一个驱动器显示为系统驱动器上的常规文件夹,并具有这样的功能(sample)。

  • 这方面我没有经验,随着时间的推移,我对它的可靠性有怀疑。据我所知,如果你做得对(而且永远不要取出物理驱动器),它实际上可能比其他几个选项更好。

  • 我只会做数据文件夹(而不是设置文件夹,或核心操作系统文件夹,如桌面)。可能用于源代码管理文件夹。如果链接中断,数据应该仍然是安全的,系统仍然可以 Boot (并重新建立链接)。
    *UPDATEWindows Explorer's "Include in library" is an alternative?确实有偷看)我喜欢创建一个“源代码库”,里面有各种各样的文件夹。
    *Visual Studio:Visual Studio的明显清理选项(为了完整起见):

  • 如果您在本地下载了MSDN帮助Help => Add and Remove Help Content,请根据需要删除项目并依赖联机帮助,或者将Local store path更改为底部以使用另一个驱动器保存内容)。

  • 或者您有多个不需要的SDK版本或者您有不需要的Visual Studio功能,请删除它们(在Visual Studio中:Tools => Get Tools and Features...-摆脱不必要的功能-我经常使用Individual Components视图)。
    *下载文件夹:我相信我已经忘记了许多可行的选择,以获得一些更多的工作空间,而不破坏您的盒子。一种是清理你的Downloads folder并将所有安装程序移动到网络位置-这可能是对某些人来说最大的保存。

  • 这也适用于笔记本电脑-这几乎是我会为磁盘空间很小的笔记本电脑做的第一件事。如果您无法访问您的网络共享安装程序-例如在旅行时-那么只需使用拇指驱动器或外部硬盘驱动器来保存您的安装程序和ISO文件。

  • 对于有多个用户的计算机,显然会有多个下载文件夹,其中可能充满了内容。使用磁盘空间可视化工具查看(请参阅列表顶部的链接)。
    页面文件:有些人将系统页面文件(pagefile.sys)从系统驱动器移动到另一个驱动器。 回到那天,这导致我的系统无法启动,但现在情况可能更好 *。这不是我会做的第一件事,虽然-这是非常核心的操作系统的东西。

  • 对于只有一个驱动器的笔记本电脑来说显然是不可能的(除非您擦除恢复分区并在其位置创建一个真实的可见分区)。

  • 我觉得这个选择有风险,也许我应该把它放在下面的“不光彩的提及”部分。

  • 小心。如果你遇到问题,也许“最后一个已知的好”功能或系统还原可以帮助你?
    *休眠文件:Windows系统上的休眠文件将位于系统驱动器上,I am not aware of any way to move it anywhere else用于very fundamental technical reasons。但是,you can disable hibernation to get rid of the whole file。这将在现代计算机上释放几千兆字节。

  • 您显然失去了将计算机置于休眠状态(内存转储到磁盘)的能力,但睡眠模式(低功耗使用模式/待机)应该仍然可用。

  • 休眠模式可能是更可取的保持对笔记本电脑(如果电池耗尽,而旅行的笔记本电脑不能自动休眠,你可能会丢失数据)。
    *应用程序临时缓存文件夹:上面提到的CCleaner可以清除各种应用程序的大量临时文件(尽管我不推荐使用它-我使用cleanmgr.exe代替-以及CCleaner用于测试框)。

      • Web浏览器**(Firefox、Opera、Vivaldi、Chrome、IE、Edge、Safari等)也会向磁盘发送大量缓存文件和下载的垃圾邮件。可以重定向所有这些文件夹,但我更喜欢将它们减少到某个可接受的最大大小。
  • 许多其他应用程序,各种各样,随着时间的推移在系统上留下垃圾。其中一些可以使用上面提到的CCleaner(或其他类似工具)进行清理。再次不是工具推荐。如果可用,请使用应用程序本身内部的清理功能。

  • 对于有多个用户的计算机,显然会有多个缓存文件夹文件夹要限制和清理。
    *数据量大的特殊应用的存储文件夹:某些应用程序可能会在您的系统驱动器(以及“我的文档”之外)上存储大量数据文件,这些文件可以移动到其他驱动器。

  • 最大的嫌疑人可能是Outlook(至少在旧版本中)-或其他电子邮件软件(Thunderbird,Lotus Notes等...)。对于Outlook,有一个 *. PST文件存储所有电子邮件和附件,或类似的同步文件(如果连接到Exchange)。此文件可以相对容易地移动到不同的驱动器。有些人甚至使用Web界面只为他们的电子邮件和消除本地PST文件(好的笔记本电脑)。

  • 如果不走极端,MS-SQL数据库可能是另一种类型的海量数据文件,可以相对轻松地移动到不同的驱动器。

  • 这个列表可以做得很大,但增加更多的回报会减少(Web服务器文件夹虚拟机映像、媒体/视频文件(如上所述)、虚拟化应用程序等...)。

  • 对于具有多个用户的计算机,显然会有多个存储位置要重定向。
    *源代码管理工作文件夹和存储库:对于一个开发者来说,这是100%不证自明的-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------它也与前一点有关,但我将其作为自己的要点添加。您可以将工作文件夹和源代码存储库(如果不同,并且是本地的)移动到系统驱动器以外的其他驱动器。例如GIT、Mercurial、Perforce、StarTeam等。
    *生成进程垃圾:除了将源代码管理文件夹移动到其他驱动器之外,某些进程还可能生成巨大的日志文件,这些日志文件有时会在意想不到的位置向系统发送垃圾邮件。我听说MSBuild倾向于enthusiastically create log files散布在整个系统中,我不确定正常的Microsoft清理工具是否检测到它们(例如上面提到的cleanmgr.exe)。你的源代码可能有很多你可以快速转换的目标文件。
    *Visual Studio代码:这是一个愚蠢的选择,但对于 * 临时开发人员笔记本电脑 * 或 * 旅行技术工作者 *,人们可能会依赖于更小的多平台Visual Studio Code而不是Visual Studio来进行小型开发测试/工作。更小的安装。个人备注:整个工具有点奇怪:-)。浏览器版本现在?

  • Visual Studio Code(跨平台)。

  • What are the differences between Visual Studio Code and Visual Studio?

  • https://code.visualstudio.com/docs/supporting/faq

  • 下载:https://www.visualstudio.com/
    *Windows应用商店应用和每用户安装数:如果机器上有多个用户,则可以多次安装多个应用商店应用,每个用户安装一次。如果需要的话,可以在这里进行一些清理。我想有些游戏可能会很大。在并行安装功能的时代,我们现在要为每个用户部署所有东西吗?真奇怪

    • 调整每个包的安装 *:在安装过程中,几乎每一个你安装的软件包都可以被稍微修改,以便在系统分区中添加更少的文件。
      *重定向应用安装文件夹:这是一个我个人不喜欢的选项,但它被使用了很多。对于每次安装,您都要将安装文件夹重定向到与常规ProgramFilesFolder不同的驱动器和文件夹层次结构。这是在每个包的基础上完成的,并不是所有的包都支持这一点。通常你会进入一个“自定义”安装对话框,在那里你可以执行“功能选择”(要安装的安装功能)。
      *省略可选功能:你安装的大多数软件包都有一些可选的组件,你可以省略这些组件,甚至在某些MSI软件包的情况下可以从源代码运行。某些开发人员工具通常可以进行相当多的调整,而不会产生太多的副作用。大型游戏通常安装在非系统驱动器的常规非SSD硬盘上。
      *卸载Windows组件:可以在Windows中添加/删除一些组件。单击旧式Add / Remove Control Panel Applet中的Turn Windows Features On or Off。您可以关闭/删除某些.NET版本,IE,IIS,Windows Media Player,消息队列服务器,打印到PDF,PowerShell和各种其他组件。可能不会从中获得太多好处(可能通过删除某些组件获得一些安全性好处-例如支持SMB 1.0 / CIFS文件共享或IIS)。
      *启用系统驱动器压缩:如果文件系统是NTFS,您可以在整个系统驱动器上启用压缩,但会导致一些性能损失。Right-click the system drive => Properties => Compress drive to save disc space。这可能需要相当长的时间(旧的HD,SSD更快)。您还可以压缩单个文件夹。我喜欢在Windows资源管理器中启用“以彩色显示压缩或加密的NTFS文件”选项。File Menu => Options => Show => Show compressed or encrypted NTFS files in color .
      *卸载不需要的软件:上面第2项中提到的被遗忘的明显选项,您显然应该卸载任何不再需要的软件。常用磁盘占用者gamesweird SDKsdevelopment tools安装用于测试,expired trial versions用于各种软件等...要卸载,请执行以下操作:Windows键+ R,键入appwiz.cpl并按Enter。
      *用户数据清理:对于某些未安装的应用程序,许多垃圾可能会留在%UserProfile%%AllUsersProfile%中。清理像往常一样有风险,请谨慎使用,但这里可能有很多垃圾-有时是千兆字节。
  • 在这种清理过程中必须非常小心。先把文件夹拉上。“只赢大的”-为什么要对小文本文件吹毛求疵?如果你陷入这些文件夹中,回报就会越来越少。使用磁盘空间可视化工具查看Pig。

  • %AllUsersProfile%-共享数据

  • %UserProfile%%UserProfile%\AppData-用户特定的数据,请记住为所有用户(如果有多个用户)进行清理。
    *杂散包缓存:如上所述,大量的缓存继续为MSI包(和其他安装程序包)。很可能在卸载后会留下很多这样的软件包(至少在当天的Installshield缓存设置中是这样的)。

  • 最常见的缓存位置如下所述:Cache locations for (MSI) packages清洁风险自担,显然-我重复一遍,我是认真的。一些千兆字节通常存储在这里。

  • 内联路径(仅选择,可以有许多其他路径):
    *WiX%ProgramData%\Package Cache
    *Installshield%SystemRoot%\Downloaded Installations(旧IS设置)和%LocalAppData%\Downloaded Installations(新IS设置)
    *高级安装程序[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install
    *Visual Studio%AllUsersProfile%\Microsoft\VisualStudio\Packages .请参阅下面注解中的重要提示(禁用缓存)。
    *包分发缓存文件夹:SCCM和其他软件包分发系统的缓存文件夹非常大。例如ccmcache。这些文件夹通常可以是cleaned or re-configured以占用更少的空间。

毫无疑问,还有许多其他的小技巧,但***请不要重定向系统文件夹!***

替代方法

(Dis)-荣誉奖:以下是不是建议,而是一些替代方法。它们比上面的选项(应该足够好)风险更高,最好是如果您正在设置新的笔记本电脑或重新安装它,并希望摆脱讨厌的供应商恢复分区,您可以没有。

让我们坚定地陈述一下显而易见的事实:***使用这些工具每年都会丢失大量数据。咖啡或咖啡因第一。戴上眼镜看看周围调整任何马尾辫和胡须(女士也是)。用第三人称对自己说话。摆出一个明显疯狂的姿势,大声喊“我愿意!“真正致力于迫在眉睫的灾难!祝你好运!“火力效果”一团糟。好了,够了……我有过不好的经历-但没有巨大的灾难(敲敲木头)-与所有这些工具。说得够多了-小心,你的数据很重要。妻子的婴儿照片,你未提交的代码,等等...

diskmgmt.msc*或diskpart.exe**(Windows):打开分区管理器(diskmgmt.msc)并清除任何恢复分区或隐藏分区,然后扩展系统磁盘以填充整个物理磁盘或创建一个新的可见分区。

  • 出厂重置不再可能(无论如何都可能过时)。您需要安装媒体来重新安装(可下载?).
  • 小心你消灭的东西!无法恢复。分区通常是受保护的,不可触摸的。在许多情况下,它们也是不可移动和不可扩展的。
  • 也许创建一个新的,可见的分区取代恢复分区和移动数据文件和您的下载文件夹在那里,使更多的空间在您的系统分区?
  • 如果分区是受保护的,您可以使用diskpart来删除它们,或者查看gparted的下一个要点。使用diskpart(命令行)很容易把事情搞砸。
    *gparted(Linux):您可能被阻止从diskmgmt.msc(受保护的分区)删除恢复分区.如果你很坚持,你可以 Boot 到Linux Live Disc / System(从可移动介质引导),然后使用gparted进行删除。
  • 我这样做是为了摆脱过时和无用的恢复分区和/或恶意软件,它工作得很好。但坦率地说,我相信这个gparted应用程序,只要我能折腾它。没有冒犯gparted的意思,但是很好地使用Windows是一个挑战。显然,备份对于此类风险工作至关重要且是强制性的。
  • 虽然有风险(Linux工具正在更新您的Windows分区声明的分区表),但这可能适用于笔记本电脑,因为只有一个物理磁盘,并且您希望为系统分区使用完整的磁盘,因此没有任何地方可以重定向数据文件夹。
  • 我认为gparted甚至允许您尝试在这一点上调整现有分区的大小。我从来没试过。祝你好运如果你尝试。“火在洞里!“.
    *克隆:有些使用映像工具磁盘克隆功能(硬件)将旧磁盘克隆到更大的磁盘上。备份显然必不可少。离我的舒适区很远-只是提一下。与这个列表并不真正相关(它应该是关于获得更多磁盘空间的简单有效的措施)。
  • 我相信在gparted中也有这样的功能。从未测试过。
  • 各种硬件解决方案。我几年前就戒了。
  • 为什么我持怀疑态度?恶意软件磁盘错误。加密。NTFS复杂性?AD问题(克隆后使用旧驱动器和新驱动器)?等等
  • 几个硬盘驱动器供应商似乎提供了专有的解决方案,这些可能是更好的测试比通用的方法?
    *文件系统分配大小:使用的文件系统及其分配大小影响可用空间。我们从来没有花太多精力去看这个,但是分配大小问题可能会浪费很多空间:Would SSD drives benefit from a non-default allocation unit size?
  • 无法轻松/安全地更改正在使用的磁盘的分配大小。也许有工具可以做到这一点,但好处是不确定的。
  • 现代Windows版本要求NTFS作为系统分区文件系统。其他文件系统,如FAT32exFAT具有较低的开销(特别是对于较小的分区-将有更多的可用空间),它们可能更快,但有更多的限制。对于FAT32,最大的限制可能是4GB的最大文件大小-今天不可行。
    这个答案的其余部分(下面)是在调试过程中编写的-我将保留它。它包含一般和通用调试选项。

VC+运行库

正如底部的链接所示,其他人也看到了同样的部署错误。在进行过多的调试之前,让我们尝试最简单的方法。请尝试从这里安装2017年(可能还有2015年)的VC++运行时

可能的常规修复

This seems to be the better discussion online for this problem.我会首先尝试运行此工具的建议:Microsoft Install and Uninstall Troubleshooter
你也可以试试this list of fixes。最重要的是,我也会尝试重新启动,然后再尝试释放任何潜在的锁定文件。就为了把过去一笔勾销。系统的事件日志可能包含有关所见错误的更多信息(有时甚至超出msiexec.exe日志中的信息)。

ACL

您的TEMP文件夹的ACL(访问控制列表)是什么?开车?

UPDATE:同时确认隐藏文件夹C:\Windows\Installer存在,且权限设置正确。您需要在Windows资源管理器中打开show protected operating system files才能看到此文件夹。

详细日志

尝试为有问题的MSI安装创建适当的详细日志(比您参考的日志信息更多)。这给了你一些开始的东西来弄清楚发生了什么。You can find some information on how to do logging here

我会为所有MSI安装启用日志记录,以便进行调试。请参阅installsite.org on logging(“* 全局适用于计算机上的所有设置 *”一节)了解如何执行此操作。
我更喜欢为开发和测试盒打开此默认日志记录。通常你会突然看到一个MSI错误,你希望你有一个日志-现在你可以,总是在%tmp%准备。

快速测试

在您的例子中,我会转到C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.MinShell.Msi,version=15.6.27421.1\来查看磁盘上是否存在MSI包,然后我会在启用日志记录的情况下启动它:

msiexec.exe /I "Microsoft.VisualStudio.MinShell.Msi.msi" /QN /L*V "C:\msilog.log"

或者,我只需要双击MSI文件,看看我是否得到一个更好的,交互式的错误消息。您很可能需要详细日志来获取任何信息。

参见下面注解中的链接(具体错误)。

r8uurelv

r8uurelv2#

只需检查C:\WINDOWS\tempC:\WINDOWS\installer。它们是存在的吗?它们是可写的吗?
在我的例子中,我以前删除了C:\WINDOWS\installer,忘记了它,所以我必须重新创建它。

fcwjkofz

fcwjkofz3#

如果禁用User Account Control(UAC),则会发生相同的错误。如果用户帐户控制处于关闭状态,Visual Studio安装程序无法向TEMP写入任何内容。解决方案-启用UAC。
在我的例子中,是Visual Studio 2019和Windows Server 2012 R2

相关问题