您不應該通過exe文件訪問ClickOnce應用程序。如果你打算這樣做,只需將應用程序的\ bin文件夾拷貝到另一臺機器。如果要使用更新功能,則應始終使用快捷方式或通過調用Web服務器上部署清單的鏈接來調用ClickOnce應用程序。 (部署清單是應用程序文件)。您可以在該鏈接上執行一個process.start。
[編輯 - 添加新信息] Ohhhhh,所以你正在訪問用戶配置文件下的文件夾中的快捷方式?我明白了嗎?而不是尋找那一個,你可以指向開始菜單上的快捷方式嗎?如果應用程序在線/離線,它將在用戶安裝應用程序時自動添加一個。使用「選項」對話框中的這些字段,將快捷方式添加到開始菜單中的出版公司/產品名稱的位置。
我這樣做是通過將程序集信息設置爲相同的值並以編程方式檢索程序集信息。我總是將裝配體描述設置爲與產品名稱相同,裝配體公司與出版社相同。然後,我可以這樣做:
Assembly code = Assembly.GetExecutingAssembly();
string company = string.Empty;
string description = string.Empty;
if (Attribute.IsDefined(code, typeof(AssemblyCompanyAttribute)))
{
AssemblyCompanyAttribute ascompany =
(AssemblyCompanyAttribute)Attribute.GetCustomAttribute(code,
typeof(AssemblyCompanyAttribute));
company = ascompany.Company;
}
if (Attribute.IsDefined(code, typeof(AssemblyDescriptionAttribute)))
{
AssemblyDescriptionAttribute asdescription =
(AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(code,
typeof(AssemblyDescriptionAttribute));
description = asdescription.Description;
}
if (company != string.Empty && description != string.Empty)
{
string shortcutName =
string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Programs),
\", company, "\\", description, ".appref-ms");
}
(對不起,我無法弄清楚如何使代碼格式漂亮,正確顯示縮進,但你的想法。)
這就是我做;它解決了EXE的路徑,而不是快捷方式。 –