默认情况下,Windows Installer使用最大的驱动器进行临时存储,无论是否需要(意味着系统驱动器上还有足够的空间).
摘自http://msdn.microsoft.com/en-us/library/aa371372%28VS.85%29.aspx:
During an administrative installation the installer sets ROOTDRIVE to the first connected network drive it finds that can be written to. If it is not an administrative installation,or if the installer can find no network drives,the installer sets ROOTDRIVE to the local drive that can be written to having the most free space.
现在我的系统驱动器是一个SSD,我最大的驱动器是一个RAID,当它不使用时会旋转.还记得SSD作为系统驱动器吗?现在一切都是沉默的!在我安装东西之前,Windows Installer再次唤醒我的RAID只是为了放一个小的.tmp文件…我怎样才能阻止Windows Installer使用最大的驱动器作为临时存储?我是否可以设置一些访问权限以禁止Windows Installer在我的RAID驱动器上写入?还有其他想法吗?谢谢!
在注册表中编辑这些条目(指向所需的驱动器,在此示例中为C:)对我有用 – Server 2012
HKEY_CLASSES_ROOT\Msi.Package\shell\Open\command "%SystemRoot%\System32\msiexec.exe" /i "%1" ROOTDRIVE=C:\ %* HKEY_CLASSES_ROOT\Msi.Package\shell\Repair\command "%SystemRoot%\System32\msiexec.exe" /f "%1" ROOTDRIVE=C:\ %* HKEY_CLASSES_ROOT\Msi.Package\shell\Uninstall\command "%SystemRoot%\System32\msiexec.exe" /x "%1" ROOTDRIVE=C:\ %* HKEY_CLASSES_ROOT\Msi.Patch\shell\Open\command "%SystemRoot%\System32\msiexec.exe" /p "%1" ROOTDRIVE=C:\ %*