Sometimes the setup program for System Center 2012 – Virtual Machine Manager (VMM) 2012 SP1 just disappears, and I’ve even seen it do this with previous versions. One cause might be if the user account that launches setup.exe has special characters in the name. I like to follow best practice and use two accounts, one that is a normal user account and another that is a member of Domain Admins. Sometimes user accounts have names like MList, and admin accounts have names like MList! or MList$ or something similar. But every once in a while using non-alphanumeric characters in the user account name can cause issues, even though they are valid names in Active Directory. For example, the Operations Manager console will not show some of the graphics when viewing Alerts, it just shows picture place holders with a red X.
Recently I’ve seen the setup for VMM 2012 SP1 disappearing, it just silently fails with no errors or log files. After clicking the Install link on the splash screen, a dialog would appear that said "Please wait while Setup prepares to install Virtual Machine Manager" and then close. During this time the Visual C++ 2010 x64 Redistributable package is installed (without any warnings or prompts).
After that, the dialog would just disappear and the program would never show the first page of the wizard. There were no error messages and nothing in the event logs. The normal setup logs (errlevel.log, SetupWizard.log, SetupWizardAdditional.log) were not created, the folder "C:\ProgramData\VMMLogs" did not exist. Using the indispensable SysInternals Process Monitor, the only logs I could see were from the C++ redistributable (\Prerequisites\VCRedist\amd64\vcredist_x64.exe):
dir /b "%TEMP%\1\"
Microsoft Visual C++ 2010 x64 Redistributable Setup_20130119_123932078.html
Microsoft Visual C++ 2010 x64 Redistributable Setup_20130119_123932078-Microsoft Visual C++ 2010 x64 Redistributable – 10.0.40219-MSP0.txt
Microsoft Visual C++ 2010 x64 Redistributable Setup_20130119_123932078-MSI_vc_red.msi.txt
I tried many things including rebooting, installing the prerequisites manually, and creating the folder "C:\ProgramData\VMMLogs" with my account explicitly granted full control. But without any errors or logs, it’s a little difficult to troubleshoot, you’re stuck with just "try this, try that" and then reversing each change that didn’t work. Since I’ve seen similar inexplicable problems in the past, I started to suspect the problem was with the file path to my user profile having an exclamation point in it:
After changing the path of my user profile to something without any special characters ("C:\Users\MList") and logging on again, the install proceeded normally:
I don’t know why the setup program crashes / exits when there are special characters in the user profile, but I suspect the code is doing some kind of parsing on a string and is not expecting non-alpha numeric characters. Apparently the developers put global error handling in place to keep it from crashing when it fails to create the log file, but that error handler code doesn’t do anything useful like write to the event log or display a message.
I will report this to Microsoft and hopefully it will get fixed in a future service pack, but until then here are a few ideas to work around the problem:
- Temporarily change the TEMP variable to a simple folder path. This might work, and would be the easiest, but I didn’t test it. This would involve launching an elevated Command Prompt, running "md C:\Temp", running "set temp=C:\Temp" and then launching the VMM setup.exe from that same Command Prompt. Since changes to environment variables for the current process are not saved and do not affect other processes, after setup.exe and cmd.exe exit, nothing else will be using C:\Temp so you could copy the VMM logs and then delete it. But if the VMM console has the same problems as the setup program, then you might have more problems.
- Create a temporary user account to install SCVMM with, and assign it the necessary permissions. Or you could logon with the VMM RunAs account that setup will be prompting you for, since it needs to be in the local Administrators group anyway.
- Log off the VMM server, rename your domain user account from a different computer, logon to the VMM server as a different admin account, delete your old user profile with sysdm.cpl (don’t just delete the folder from C:\Users since this won’t delete the pointer in "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\"). Then when you log on again you will get a new profile folder based on the new account name. If it doesn’t break organizational policy to permanently leave it renamed, this option might prevent other odd problems with other apps in the future. But be prepared to troubleshoot odd profile problems since machines where you already have profiles created have the old folder name, and new profiles will get a different folder name. This could cause minor issues with shortcuts, roaming profiles, Group Policy Preferences, logon scripts, scheduled tasks, etc. Renaming a user account will not affect group memberships, since groups use the SID which does not change during a rename.
- Customize the folder path for your user profile on just the VMM server and leave it that way. This is what I did, since I’m guessing the VMM console might have some of the same issues as setup. I logged off the VMM server, and then from a remote computer I renamed my profile to a name without any special characters, then in the registry I modified the "ProfileImagePath" value in "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" to match. After logging on again, I verified my user profile and temp folders were updated:
If you plan to leave it that way, I recommend searching the registry for the old folder name, like "\MList!" and "MList!\". Update any references you find (such as "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders") and then logon again.
SCVMM VMM setup.exe install installation silently fails disappears closes crashes aborts does not complete Please wait while Setup prepares to install Virtual Machine Manager…