2015-06-19 32 views
1

我有一個C#Windows窗體項目,我創建。爲所有用戶發佈項目

當我點擊「發佈」時,它將部署此僅適用於單個用戶的一次點擊應用程序。如果我在我的管理員帳戶上運行安裝,那麼在我的AppData中有一個快捷方式,我可以點擊運行我的程序。如果我嘗試將該快捷方式複製到C:\ users \ Public,會發生什麼情況是另一個一次點擊應用程序被放置在用戶的桌面上。該用戶然後必須運行安裝並且令人討厭的原因如果我有更新,每個用戶都必須卸載並重新安裝新的應用程序。有什麼辦法可以將VS 2015配置爲以一種爲所有用戶創建「常規」安裝的方式進行發佈?

+1

這實際上並不是ClickOnce的工作原理。它旨在生活在用戶的個人資料中。啓動應用程序時升級是自動的,除非出現問題,否則應該相當快。 – David

回答

2

RobinDotNet解決,在一個博客張貼了一段時間回來:

做的所有用戶安裝的計數器ClickOnce部署的設計目標,所以我認爲這將是每個人都必須忍受, 最起碼到現在。使用的XCopy或設置&部署包和滾動自己的增量更新的方法是去,如果你絕對必須有一個所有用戶安裝的方式

https://robindotnet.wordpress.com/2009/09/07/installing-a-clickonce-application-for-all-users/

有中列出多個備選部署方法this SO answer可能適合你。

2

你不能用ClickOnce來做到這一點。您可能需要安裝Windows Installer XML以創建常規MSI安裝程序。它現在與Visual Studio集成在一起。

2

正如其他人指出,CO是每個用戶。機器上的所有用戶都沒有安裝選項。

不過,我覺得在升級過程中,你要麼是誤解了,要麼是配置錯誤。點擊升級不需要用戶卸載,下載和安裝新版本。這不會完全點擊一次。

您可以將您的ClickOnce應用程序配置爲在升級時自動檢測,獲取和應用升級。這可以在代碼中完成,因此您可以通過編程或配置來控制它(即每次應用程序啓動時檢查更新)。

因此,每個用戶都需要安裝一次應用程序,但這將是他們參與的結束。