Skip to content
This repository was archived by the owner on Feb 21, 2019. It is now read-only.

Commit 47f4d1f

Browse files
committed
new data file
1 parent 03e617a commit 47f4d1f

3 files changed

Lines changed: 26 additions & 32 deletions

File tree

src/Uninstall_Wrapper/DataFile.bin

153 KB
Binary file not shown.

src/Uninstall_Wrapper/Program.cs

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -176,46 +176,40 @@ private static int Main(string[] args)
176176
private static IEnumerable<string> GetVisualStudioInstallationDirs()
177177
{
178178
List<string> vsDirs = new List<string>();
179-
if (Environment.Is64BitOperatingSystem)
180-
{
181-
vsDirs.Add((string)Registry.GetValue(
182-
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\12.0\\",
183-
"InstallDir",
184-
null));
185-
vsDirs.Add((string)Registry.GetValue(
186-
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\14.0\\",
187-
"InstallDir",
188-
null));
189-
vsDirs.Add((string)Registry.GetValue(
190-
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\15.0\\",
191-
"InstallDir",
192-
null));
193-
}
194-
else
195-
{
196-
vsDirs.Add((string)Registry.GetValue(
197-
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\",
198-
"InstallDir",
199-
null));
200-
vsDirs.Add((string)Registry.GetValue(
201-
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0\\",
202-
"InstallDir",
203-
null));
204-
vsDirs.Add((string)Registry.GetValue(
205-
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\15.0\\",
206-
"InstallDir",
207-
null));
208-
}
179+
180+
var vsVers = new string[] { "12.0", "14.0", "15.0" };
209181

210182
// %AppData%\Microsoft\VisualStudio\14.0 & 12.0 & 15.0
211183
// %LocalAppData%\Microsoft\VisualStudio\14.0 & 12.0 & 15.0
212184
// %LocalAppData%\Microsoft\VSCommon\14.0 & 12.0 & 15.0
213185
var appDataRoot = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
214186
var localAppDataRoot = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
215-
var vsVers = new string[] { "12.0", "14.0", "15.0" };
216187

217188
foreach (var vsVer in vsVers)
218189
{
190+
if (Environment.Is64BitOperatingSystem)
191+
{
192+
var installDir = (string)Registry.GetValue(
193+
string.Format("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\{0}\\", vsVer),
194+
"InstallDir",
195+
null);
196+
if (!string.IsNullOrEmpty(installDir))
197+
{
198+
vsDirs.Add(installDir);
199+
}
200+
}
201+
else
202+
{
203+
var installDir = (string)Registry.GetValue(
204+
string.Format("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\{0}\\", vsVer),
205+
"InstallDir",
206+
null);
207+
if (!string.IsNullOrEmpty(installDir))
208+
{
209+
vsDirs.Add(installDir);
210+
}
211+
}
212+
219213
vsDirs.Add(Path.Combine(appDataRoot, "Microsoft", "VisualStudio", vsVer));
220214
vsDirs.Add(Path.Combine(localAppDataRoot, "Microsoft", "VisualStudio", vsVer));
221215
vsDirs.Add(Path.Combine(localAppDataRoot, "Microsoft", "VSCommon", vsVer));

src/VS.ConfigurationManager/Primitives.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public void CleanupVisualStudioFolders(IEnumerable<string> vsInstallPaths)
174174
{
175175
try
176176
{
177-
if (Directory.Exists(path) && !this.DoNotExecuteProcess)
177+
if (!string.IsNullOrEmpty(path) && Directory.Exists(path) && !this.DoNotExecuteProcess)
178178
{
179179
Logger.LogWithOutput(string.Format("Deleting: {0}", path));
180180
this.RecursivelyDeleteFolder(path);

0 commit comments

Comments
 (0)