ClickOnce应用程序在自动启动Windows时不记得设置

时间:2009-04-22 18:50:24

标签: c# clickonce settings

我有一个使用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,而是指向以下网址:

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

如何让我的自动启动应用程序以与快捷方式相同的方式工作?

1 个答案:

答案 0 :(得分:2)

您无法控制ClickOnce应用程序的安装位置,并且无论何时升级都会移动,因此我不会存储可在app.config文件中更改的设置。相反,我创建自己的设置文件(通常使用简单的xml序列化对象)到“已知”文件夹,例如Environment.SpecialFolder.CommonApplicationData或Environment.SpecialFolder.LocalApplicationData