2009-04-22 5 views
2

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

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

答えて

2

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

+0

「オフライン"インストールモード。 「オンラインのみ」モードを使用した場合は、書き込み可能な場所に制限されることがあります。 –

関連する問題