2009-04-22 16 views
2

我有一個與ClickOnce一起部署的應用程序,並且可以選擇自動啓動Windows。但是,當我重新啓動Windows時,我的應用程序成功啓動,但無法找到設置(我只使用內置的設置功能)。但是,如果關閉自動啓動的應用程序並使用桌面上的圖標重新啓動它,則可以找到它的設置。ClickOnce應用程序在自動啓動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

如何讓我的自動啓動應用程序以與快捷方式相同的方式工作?

回答

2

您無法控制ClickOnce應用程序的安裝位置,它在任何升級時都會移動,因此我不存儲可在app.config文件中更改的設置。相反,我創建自己的設置文件(通常使用簡單的XML序列化對象)到一個「已知」文件夾,如Environment.SpecialFolder.CommonApplicationData或Environment.SpecialFolder.LocalApplicationData

+0

我還應該提到,我部署使用「離線「安裝模式。如果您使用「僅限在線」模式,則可能只限於您可以寫入的地方。 – 2009-04-26 23:26:35

相關問題