VS2010展開プロジェクトを使用して展開されたWindowsサービスがあります。私はユーザ名/パスワードをインストーラに入力する必要があり、その後、これらの詳細がレジストリにコミットして使用されるようにします。Visual Studio 2010展開プロジェクトからHKLMに書き込む
インストーラーが正常に動作し、カスタムアクションが正しくセットアップされています。私がHKLMにコミットしようとすると、エラーも出力もなくなり、HKCUと同じコマンドが正常に動作します。これは、標準ユーザーと管理ユーザー(RunAsを含む)の両方と同じです。
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
var username = Context.Parameters["username"];
var password = Context.Parameters["password"];
// HKLM\Software\MySoftware
RegistryKey hklm = Registry.LocalMachine.CreateSubKey("SOFTWARE\\MySoftware");
hklm.SetValue("username", username, RegistryValueKind.String);
hklm.SetValue("password", password, RegistryValueKind.String);
hklm.Close();
// HKCU\Software\MySoftware
RegistryKey hkcu = Registry.CurrentUser.CreateSubKey("SOFTWARE\\MySoftware");
hkcu.SetValue("username", username, RegistryValueKind.String);
hkcu.SetValue("password", password, RegistryValueKind.String);
hkcu.Close();
}
私はCreateSubkey(x)の代わりに.OpenSubkey(x、true)を使用しようとしました。結果は同じです。
どのような助けも大幅に強化されます。 64ビットオペレーティングシステム上で
よろしく
クリス
可能な複製:http://stackoverflow.com/questions/1782492/installer-custom-action-problem-cant-write-to-register-key – Blazes
私はCustomActionの良いリファレンスを見つけることができないため、確認できませんCustomActionの 'Install'部分で権限が昇格されていない可能性がありますか?そのコードを 'Commit'に移動しようとしましたか? – Blazes
ちょうどコミットアクションにtryと同じ結果が与えられました!コードをコンソールアプリケーションに移動しました。管理者の資格情報と明示的に実行されています。私はHKLMのための私のセキュリティ設定が株式以外の何かになる何らかの理由を見ません! – Chris