Windows サービスをインストールする MSI インストーラーがあり、カスタム アクションでHKEY_LOCAL_MACHINE/SOFTWARE/MYSoftware
キーのレジストリにいくつかの値を書き込む必要があります。
私はこれをやろうとしていますが、うまくいきませんが、Windows サービスからはうまくいきます。どこが間違っているのか誰にも教えてもらえますか?
string registryLocaltion = AgentProperties.TMAGENT_REGISTRY_LOCATION
+ @"\" +AgentProperties.TMAgentVersion;
tmKeyMain = Registry.LocalMachine.OpenSubKey(registryLocaltion, true);
if (tmKeyMain == null)
{
log.Error("Unable to open registry key " + registryLocaltion);
}
tmKeyMain.SetValue("UseProxySettings", settings.UseProxySettings);
if (settings.UseProxySettings)
{
tmKeyMain.SetValue("ProxyHost", settings.ProxyHost);
tmKeyMain.SetValue("ProxyPort", settings.ProxyPort);
tmKeyMain.SetValue("ProxyUsername",
GenericHelper.ConvertToBase64Encoding(settings.ProxyUsername));
tmKeyMain.SetValue("ProxyPassword",
GenericHelper.ConvertToBase64Encoding(settings.ProxyPassword));
tmKeyMain.SetValue("ProxyExclusion", settings.ProxyExclusion);
tmKeyMain.SetValue("BypassProxy", settings.BypassProxy);
}
このコードは、私の Windows サービスでは正常に機能していますが、MSI インストーラーのカスタム アクションで非常によく似た操作を行うと、機能しません。
どこが間違っているのか誰にも教えてもらえますか?