internal static void BeTheExecutableFor(string extension, string description)
{
// e.g.: HKLM\SOFTWARE\Classes\.BloomCollectionFile\Content Type: "application/bloom"
var fileKey = extension + "File";
EnsureRegistryValue(fileKey, "application/bloom", "Content Type");
// e.g.: HKLM\SOFTWARE\Classes\Bloom.BloomCollectionFile\shell\open\: "Open"
var bloomFileKey = "Bloom" + fileKey;
EnsureRegistryValue(bloomFileKey + @"\shell\open", "Open");
// e.g.: HKLM\SOFTWARE\Classes\Bloom.BloomCollectionFile\shell\open\command\: ""C:\Program Files (x86)\Bloom\Bloom.exe" "%1""
var exe = Assembly.GetExecutingAssembly().Location;
EnsureRegistryValue(bloomFileKey + @"\shell\open\command", "\"" + exe + "\" \"%1\"");
}