I install the VS2017 on Windows 7. After some time I receive the error:
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
I have checked the G: where the TEMP located. It has 200 GB free. BUT one strange thing: this folder and all other folders are Read-Only. I uncheck it in the Properties, then close Properties dialog, open it again: it is Read-Only. I can modify it, even MSI installer could: it created the log file there. But in the middle of installation the error occurs. What is it and how I can solve this problem?
I run with log:
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
Final Summary
This issue turned out to be a redirected
TEMP
andC:\Windows\Installer
cache folder - with the latter being on an unavailable drive.Please be careful redirecting system folders, in particular
C:\Windows\Installer
. It is a super-hidden system folder and side-effects are very common.You must make sure that the relocated folder has the correct ACL permissions that the original folder had. This is crucially important for security reasons. For one thing the whole folder could be deleted by someone who do not understand what it is for - making all packages un-uninstallable and un-maintainable. There are also other security reasons.
Also: putting this folder on the network is not technically sound in my opinion - problems will result. A local drive is also problematic if drive letters change. Which brings me to the next point:
Lacking Space for your System SSD Drive?
If your real issue is lacking disk space on your system SSD drive, please consider some alternatives listed below. Proceed with care and at your own risk with every option. Most of them should be harmless.
Disc Space Visualizing: I have an ancient tool called
SpaceMonger.exe
which shows me a visual representation of whatever is taking up my disc space. Very useful. It seems this tool is no longer supported. Maybe check https://en.wikipedia.org/wiki/WinDirStat for a similar tool (untested by me - run it by virustotal.com).DriverStore: And a word to the resident hacker in all computer guys: no, no - don't try to redirect
%SystemRoot%\System32\DriverStore
(!). "Seductive The Dark Side Is". "Run Forrest, Run!". "Careful With That Axe Eugene". Etc... You get the picture. Leaving out Monty Python allusions for now. Seriously: I do not know what low-level stuff could be involved in the boot process. One would have to ask Raymond Chen, but don't. He has important things to do. However: pnputil.exe, DriverStore Explorer - your own risk. Don't do it :-).Overall Suggestions
My preferred desktop disc cleanup options below would be: 7, 19, 2, 18, 1, 6, 11, 12 (in that order).
Preferred options for laptops: 7, 19, 2, 18, 6, 10 (reduce max cache sizes), 15, 17, 3 (in that order).
The real-world approach for me is a slightly different order: 2 (purge obsolete Windows Updates - this may also trim WinSxS - but I am not positive), 19 (uninstall unneccessary software - can be relatively quick), then I run
SpaceMonger.exe
to find space hogs and move them - this often involves zapping theDownloads folder
(7) and purging, moving or clouding media files (Pictures, Videos, Music), then 6 for developer PCs (jogging Visual Studio and uninstall useless SDKs and help files), and 9 (eliminate hibernation - not great for laptops), 18 (enable compression - can take forever), and finally I might zap the recovery partitions (laptops) and create a new partition in its place to allow data files to be stored there (freeing up system partition space). This zapping is a high-risk operation - obviously. Very error-prone (especially if inexperienced users use the diskpart command-line tool or a Linux Live Boot tool - described below). And obviously verify that you have installation media AND a valid license key before wiping out recovery partitions - it has to be mentioned. Data files I move are usually: source code repository, downloads folder, outlook PST file, images and videos, etc... This procedure should reclaim many gigabytes of disc space. Don't do it for fun though - though risk should be acceptable for most of these options (barring the recovery partition zapping - it is relatively simple to do, but error prone).Cleanup Options
Apply healthy skepticism to these options. They are not all terribly useful in many cases - just attempting to mention all kinds of tweaks. Potential easy, big wins without much configuration and fiddling could be 2, 6, 7, 9, 18. Options 2 and 18 are almost always time consuming, but very effective. Maybe hours for option 2 (especially on Windows 7 & 8 - do not abort when it is running) and even longer for option 18 on a large computer or a slow disk (but the operation can be cancelled).
Option 0, Cloud Storage is an implied overall option in this day and age. OneDrive Filer, GDisk, Dropbox, etc... Download data files on demand.
My Documents: It is generally much better to move user data folders to a network location or another, local drive (best) than to redirect system folders! Few system-entanglements.
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
, I would move "My Documents". Just right-click it in Windows Explorer, go to properties and there is a tab there with features to help you move it. Careful whilst doing this - a backup is in order first.Pictures
andVideo
might also be OK to move, but not the desktop or the other special folders - they may be involved in the boot or logon process (erroneous packages could cause that even for My Documents - nothing is without risk).SpaceMonger.exe
to get an overview and then move the files somewhere else.Microsoft's Disk Cleanup Tool: Run
cleanmgr.exe
, selectClean up system files
as described here: https://serverfault.com/q/573208/20599 (top).WinSxS directory
(the Win32 side-by-side assembly folder). I am not 100% positive.Third Party Cleanup Applications: Third party tools such as CCleaner may be able to clean out even more space by wiping out cache files and temporary files for all kinds of applications and tools. This particular tool suffered a malware attack recently. Use at your own risk.
Administrative Installations: For large MSI files, performing an administrative install will prevent the caching of the whole MSI file in
C:\Windows\Installer
. You must install from a proper network share so files are available for repair operations.msiexec /a File.msi
. More details in links below.Mounted Drives: Some guys dabble with mounting external drives as folders on their system drive. In other words another drive shows up as a regular folder on your system drive and functions as such (sample).
Visual Studio: And the obvious cleanup options for Visual Studio (for completeness):
Help => Add and Remove Help Content
, remove items as appropriate and rely on online help instead or change theLocal store path
towards the bottom to use another drive for content).Tools => Get Tools and Features...
- get rid of unnecessary features - I often use theIndividual Components
view).Downloads Folder: I am sure I have forgotten many viable options to get some more workspace without wrecking your box. One would be to clean out your
Downloads folder
and move all installers to a network location - this might be the biggest save of all for some people.Page File: Some people move the system page file (
pagefile.sys
) from the system drive to another drive. Back in the day this caused me an unbootable system, but perhaps things are better now. Not the first thing I would do though - this is very core OS-stuff.Hibernation File: the hibernation file on Windows systems will live on the system drive, and I am not aware of any way to move it anywhere else for very fundamental technical reasons. However, you can disable hibernation to get rid of the whole file. This will free up a few gigabytes on a modern computer.
Application Temp & Cache Folders: The above mentioned
CCleaner
can wipe out a lot of temporary files for various applications (though I don't really recommend this for use - I usecleanmgr.exe
instead - and CCleaner for test boxes).Special Data-Heavy Applications' Storage Folders: Some applications can potentially store enormous data files on your system drive (and outside "My Documents") that can be moved to other drives.
Source Control Working Folder & Repository: for a developer this is 100% self-evident - and almost embarrassing to list, but I just want to have it mentioned. It is also related to the previous point, but I add it as its own bullet point. You move both your working folder and your source code repository (if different, and if local) to a different drive than the system drive. For example GIT, Mercurial, Perforce, StarTeam, etc...
Build Process Junk: Beyond moving source control folders to other drives, it is also possible that certain processes generate huge log files that spam the system in unexpected locations at times. I hear MSBuild tends to enthusiastically create log files sprinkled across the system and I am not sure if normal Microsoft cleanup tools detect them (for example
cleanmgr.exe
mentioned above). And your source code could have lots of object files you can zap.Visual Studio Code: one of the sillier options in this list (a filler for a bullet point moved to the bottom list of more involved options), but for ad-hoc developer laptops or traveling tech-workers, one could potentially rely on the smaller and multi-platform Visual Studio Code instead of Visual Studio to do small development testing / work. Significantly smaller install. Personal note: a bit odd the whole tool :-).
Windows Store Apps & Per User Installations: if there are multiple users on the box, several Store apps could be installed multiple times, once per user. Some cleanup could be done here if need be.
Tweak Each Package Installation: almost every package you install can be modified slightly during installation to add less files to the system partition.
ProgramFilesFolder
. This is done on a per-package basis, and not all packages support this. Typically you go to a "Custom" installation dialog where you perform "feature selection" (what setup features to install).Uninstall Windows Components: a few components can be added / removed from Windows. Click
Turn Windows Features On or Off
from the old-styleAdd / Remove Control Panel Applet
. You can turn off / remove certain .NET versions, IE, IIS, Windows Media Player, Message Queue Server, Print to PDF, PowerShell and various other components. Maybe not that much to gain from this (some security benefits perhaps by removing some components - for example support for SMB 1.0 / CIFS file sharing or IIS).Enable Compression For System Drive: you can enable compression on the whole system drive - with some performance penalties - provided the file system is NTFS. Simply
Right-click the system drive => Properties => Compress drive to save disc space
. This will take quite some time. I would kick it off over the weekend. You can also compress individual folders. I like to enable the "Show compressed or encrypted NTFS files in color" option in Windows Explorer.File Menu => Options => Show => Show compressed or encrypted NTFS files in color
.Uninstall Unnecessary Software: the forgotten obvious option mentioned in item 2 above, you should obviously uninstall any software that is not needed anymore. Common disk hogs:
games
,weird SDKs
anddevelopment tools
installed for testing,expired trial versions
for various software, etc... Anything really. To uninstall: Windows key + R, typeappwiz.cpl
and hit Enter.User Data Cleanup: for certain uninstalled applications a lot of junk could be left in the
%UserProfile%
and in the%AllUsersProfile%
. Cleanup here is not without risk, but with logic and discipline you should be able to get rid of junk without causing side effects. Some tools really do store gigabytes worth of data here.%AllUsersProfile%
- shared data%UserProfile%
and%UserProfile%\AppData
- user specific data, remember to clean for all users (if multiple).Stray Package Caches: as mentioned above a lot of caching goes on for MSI packages (and other installer packages). It is likely that a lot of these packages can be left behind after uninstall (this was the case with Installshield cached setups back in the day at least).
%ProgramData%\Package Cache
%SystemRoot%\Downloaded Installations
(older IS setups) and%LocalAppData%\Downloaded Installations
(newer IS setups)[AppDataFolder][|Manufacturer]\[|ProductName] [|ProductVersion]\install
%AllUsersProfile%\Microsoft\VisualStudio\Packages
. See important tip in comment below (disable cache).There are no doubt numerous other, little tricks you can use to gain more disk space - hopefully without wrecking anything. My 2 cents: don't redirect system folders! Try some of the options above - even the silly ones are probably better than redirected system folders. Silly over desperate measures.
Alternative Approaches
(Dis)-Honorable Mentions: The below are not recommendations, but some alternative approaches. They are higher risk than the options above (which should be good enough), and best if you are setting up a new laptop fresh or reinstalling it, and want to get rid of pesky vendor recovery-partitions that you can do without.
Let's state the obvious with conviction: A lot of data is lost every year using these tools. So coffee or caffeine first. Glasses on. Look around. Adjust any pony tails and beards (ladies too). Speak to yourself in the third person. Assume a demonstrably insane posture and shout out "I do!" to really commit to the imminent disaster! Good luck! Fire in the hole! "Fire for effect". SNAFU. FUBAR. Ok, enough already... I have had bad experiences - but no huge disasters (knock on wood) - with all these tools. Enough said - be careful, your data is important. Wife's baby pictures, your uncommitted code, etc...
diskmgmt.msc
) and wipe out any recovery partitions or hidden partitions that you can live without and then expand your system disk to fill the whole physical disk or create a new visible partition.gparted
. Very easy to mess things up usingdiskpart
though (command line).diskmgmt.msc
(protected partitions). If you are adamant and insist, you can boot into a Linux Live Disc / System (booted from removable media) and delete usinggparted
for example.gparted
app as far as I can toss it. No offence togparted
, but playing well with Windows is challenging. Backup is crucial and mandatory for such risky endeavors - obviously.gparted
even allows you to try to resize existing partitions at this point. I have never tried it. Good luck if you try. "Fire in the hole!".gparted
as well. Never tested.The rest of this answer (below) was written during debugging - I will leave it in. It contains generic and general-purpose debugging options.
VC+ Runtimes
As seen in the link towards the bottom, other people have seen the same deployment error. Before getting into too much debugging, let's try the simplest approach possible. Please try to install the VC++ runtimes for 2017 (and 2015 perhaps) from here:
Potential General Fixes
This seems to be the better discussion online for this problem. I would first try the suggestion to run this tool: Microsoft Install and Uninstall Troubleshooter.
You can try this list of fixes as well. Crucially I would also try a reboot before trying again to release any potential locked files. Just to wipe the slate clean. The system's event log might have further information on the error seen (sometimes even beyond what is in an
msiexec.exe
log).ACLs
What is the ACL (Access Control List) for your TEMP folder on that G: drive?
UPDATE: Also make sure the hidden folder
C:\Windows\Installer
exists and have the correct permission settings. You need toshow protected operating system files
in Windows Explorer to see this folder.Verbose Logging
Try to create a proper, verbose log for the MSI install in question (much more informative than the log you refer to). This gives you something to start with to figure out what is happening. You can find some information on how to do logging here.
I would enable logging for all MSI installations for debugging purposes. See installsite.org on logging (section "Globally for all setups on a machine") for how to do this.
I prefer this default logging switched on for dev and test boxes. Typically you suddenly see an MSI error and you wish you had a log - now you can, always ready in
%tmp%
.Quick Testing
In your case, I would go to
C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.MinShell.Msi,version=15.6.27421.1\
to see if the MSI package is present on disk, and then I would launch it with logging enabled:Alternatively I would just double click the MSI file and see if I get a better, interactive error message. You will most likely need the verbose log to get any info.
See link in comment below (concrete error).
Just check
c:\windows\temp
andc:\windows\installer
do they exist and are they writable?In my case i deleted
c:\windows\installer
previously and forgot about it, so i must recreate it.