2

ClickOnce でデプロイされたアプリケーションがあり、Windows で自動的に開始するオプションがあります。ただし、Windows を再起動すると、アプリケーションは正常に起動しますが、設定を見つけることができません (組み込みの設定機能を使用しているだけです)。ただし、自動起動したアプリを閉じて、デスクトップのアイコンで再起動すると、その設定を見つけることができます。

Windows で自動的に起動するには、次のコードを使用しています。

Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (runOnStartup == true) 
    key.SetValue("AppName", Application.ExecutablePath.ToString());
else 
    key.DeleteValue("AppName");

デスクトップ ショートカットが exe を直接指しているのではなく、次のような URL を指していることに気付きました。

http://pathToApp.application#AppName.application, Culture=neutral, PublicKeyToken=c8c0a22ba65cb9f4, processorArchitecture=x86

自動起動アプリをショートカットと同じように動作させるにはどうすればよいですか?

4

1 に答える 1

2

ClickOnce アプリがインストールされる場所を制御することはできず、アップグレードされるたびに移動するため、変更可能な設定を app.config ファイルに保存しません。代わりに、Environment.SpecialFolder.CommonApplicationData や Environment.SpecialFolder.LocalApplicationData などの「既知の」フォルダーに独自の設定ファイルを (通常は単純な xml シリアル化オブジェクトを使用して) 作成します。

于 2009-04-26T23:19:52.053 に答える