我試圖將.NET應用程序部署爲ClickOnce應用程序,但我在定義應用程序的安裝位置時遇到問題。我需要知道這一點,因爲我必須包含支持文件。我已經將支持文件添加爲「現有項目」。我曾假定該程序將安裝在Program Files中,但它並不存在。相反,桌面上只有一個快捷方式。有人可以解釋如何/在哪裏使用VS2012定義安裝路徑?定義安裝文件的位置
回答
Clickonce應用程序安裝在用戶配置文件下,而不是Program Files路徑。
在Windows Vista和Windows 7,ClickOnce應用程序路徑將是介於c:\users\username\AppData\Local\Apps\2.0\
在Windows XP中,ClickOnce應用程序路徑將是介於c:\document and Settings\username\LocalSettings\Apps\2.0\
注意ClickOnce應用程序路徑是在安裝時不同,每次,我發現最好的方法是讓您的應用程序將自己的應用程序路徑寫入註冊表項,這樣您就可以通過查看註冊表確切知道應用程序路徑的位置。
所以user831062指出,ClickOnce應用程序安裝在用戶配置文件下,而不是Program Files路徑。因此,安裝目錄在每臺機器上都不同,幾乎不可能直接訪問。
我被掛斷的部分是項目所在文件的位置,更重要的是 - 我如何訪問它們?
嗯,正如提到IN THIS LINK,如果您將文件標記爲 「數據文件」,下設:
Project Properties > Publish > Application Files > Publish Status
,你就可以使用類似訪問它們:
textBox = File.ReadAllLines(ApplicationDeployment.CurrentDeployment.DataDirectory + @"\myFile.txt")).ToList();
如果您不將其標記爲「數據文件」,而只是將其標記爲「包含(自動)」,則它將位於安裝目錄本身中,可以通過使用以下類似的方式直接調用文件來訪問它:
textBox = File.ReadAllLines(@"myFile.txt")).ToList();
無論如何,花了我一個小時左右來找到這個,所以希望它能幫助別人。
我發現的一個解決方案是使用一些Application類屬性來確定ClicOnce在哪裏安裝了我的程序實例。但請注意,有些程序在卸載時會被刪除。
// To get the path for the executable file that started the application, not including the executable name.
PATH_RESOURCES = Application.StartupPath ;
對於持續性的數據,我創建喜歡特定路徑引用:
PATH_USERDATA = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\myAppName\";
if (!System.IO.Directory.Exists((string)PATH_USERDATA))
{
System.IO.Directory.CreateDirectory((string)PATH_USERDATA);
}
PATH_REPORTS = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\myAppName\";
if (!System.IO.Directory.Exists((string)PATH_REPORTS))
{
System.IO.Directory.CreateDirectory((string)PATH_REPORTS);
}
如果你已經添加文件到您的項目中,爲「建設行動」,「內容」,並設置「屬性複製到輸出目錄「到」始終複製「。這樣,這些文件將包含在您的部署中。當應用程序運行時,檢索程序集的位置並查找與它們包含在項目中相同的相關文件夾。例如,如果它們位於構建輸出目錄(/ bin/debug /或/ bin/release /)的頂層文件夾中,它們將與可執行文件包含在相同的文件夾中,您可以使用它發現它:
System.Reflection.Assembly.GetExecutingAssembly()。位置
- 1. 自定義安裝文件
- 2. 定義cpp文件位置
- 3. 安裝位置缺少頭文件
- 4. INNO設置:在安裝包中定義配置文件
- 5. 從安裝位置將文件複製到安裝目錄
- 6. MYSQL設置文件位於Windows安裝位置
- 7. 在另一個位置安裝Wordpress到我的WordPress自定義
- 8. 如何在自定義位置的mac上安裝java 7?
- 9. 在Linux上爲Openjdk Java定義/安裝字體的位置
- 10. PEAR安裝位置?
- 11. Shopify安裝返回文本的位置
- 12. 從定義的位置掃描一個txt文件來定義的位置
- 13. Inno安裝從文件(.inf)爲靜默安裝加載默認的自定義安裝設置
- 14. liberty配置文件的默認安裝位置
- 15. 無法找到設置Django安裝位置的文件
- 16. 把裝置放在自定義插件中的位置?
- 17. 安裝microsoft.office.tools.excel.dll的位置?
- 18. 安裝位置的ReportServer
- 19. 如何確定Windows Java安裝位置
- 20. 將python庫安裝到自定義位置?
- 21. 自定義python安裝位置:tkinter問題
- 22. Java打包程序工具:自定義安裝位置
- 23. 安裝配置文件
- 24. Drupal安裝配置文件
- 25. Slicehost安裝配置文件
- 26. 如何設置Jenkins安裝文件位置?
- 27. 的Joomla安裝/卸載SQL文件的位置在包
- 28. 確定使用ClickOnce部署安裝軟件的位置
- 29. 自定義安裝
- 30. 安裝定製ASPX文件作爲ListTemplate定義的一部分