Skip to content

Commit 7c4fe8d

Browse files
committed
BuildRegistryScript fixed for the deletion of both x86 and x64 registry keys when it proceeds.
Also cleaned a bit that branching in LocalDebugRegistryWriter.
1 parent 80368c6 commit 7c4fe8d

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

Rubberduck.Deployment/BuildRegistryScript.ps1

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,17 @@ try
9595
if (Test-Path -Path $regFile -PathType Leaf)
9696
{
9797
$datetime = Get-Date;
98-
& reg.exe import $regFile;
98+
if ([Environment]::Is64BitOperatingSystem)
99+
{
100+
& reg.exe import $regFile /reg:32;
101+
& reg.exe import $regFile /reg:64;
102+
}
103+
else
104+
{
105+
& reg.exe import $regFile /reg:32;
106+
}
99107
& reg.exe import ($dir + "\RubberduckAddinRegistry.reg");
100-
Move-Item -Path $regFile -Destination ($regFile + ".imported_" + $datetime.ToUniversalTime().ToString("yyyyMMddhhmmss") + ".txt" )
108+
Move-Item -Path $regFile -Destination ($regFile + ".imported_" + $datetime.ToUniversalTime().ToString("yyyyMMddHHmmss") + ".txt" )
101109
}
102110
}
103111
else

Rubberduck.Deployment/Writers/LocalDebugRegistryWriter.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,11 @@ public string Write(IOrderedEnumerable<RegistryEntry> entries)
3131
throw new InvalidOperationException("Unexpected registry entry: " + entry.Key);
3232
}
3333

34+
MakeRegistryEntries(entry, Registry.CurrentUser);
3435
if (Environment.Is64BitOperatingSystem)
3536
{
36-
MakeRegistryEntries(entry, RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry32));
3737
MakeRegistryEntries(entry, RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64));
3838
}
39-
else
40-
{
41-
MakeRegistryEntries(entry, RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry32));
42-
}
4339

4440
if (!distinctKeys.Contains(entry.Key))
4541
{
@@ -53,7 +49,7 @@ public string Write(IOrderedEnumerable<RegistryEntry> entries)
5349
sb.AppendLine("[-HKEY_CURRENT_USER\\" + key + "]" + Environment.NewLine);
5450
}
5551

56-
return sb.ToString(); //FIXME: this is not printing reg redirections.
52+
return sb.ToString();
5753
}
5854

5955
private void MakeRegistryEntries(RegistryEntry entry, RegistryKey hKey)

0 commit comments

Comments
 (0)