2016-04-04 47 views
1

我可能有點幼稚,但需要快速創建一些低佔用空間的應用程序(使用Telerik組件)給許多客戶。這是一種快速而骯髒的解決方案,可以克服不同筆記本電腦版本上Oracle軟件的不足。爲什麼ClickOnce .NET部署需要安裝

我有一個想法,ClickOnce會允許我將應用程序與所有依賴關係打包在一起,並且不需要軟件安裝。我在大型企業環境中工作,需要管理員訪問軟件安裝。因此,託管一個包含所有依賴關係的自包含應用程序(ClickOnce)聽起來很棒,只需在全局文件共享上託管應用程序即可。

通過它的實際工作,應用程序不是自包含的。它需要一個引導程序並創建一個setup.exe。我的客戶無法安裝軟件(無管理員權限),也不想安裝可能超出企業標準(.NET版本)的軟件依賴項。

我假設當人們必須通過setup.exe安裝先決條件時,我最終可能會覆蓋客戶端上安裝的.NET版本,或者我的客戶可能無法執行setup.exe,因爲他們會這樣做沒有管理員權限來安裝軟件。

任何意見讚賞,也許我誤解了這個過程。我希望可以打開一個完全自包含的應用程序,可以爲該正在運行的應用程序提供依賴項,無需安裝,並且可以對公司客戶端進行零腳本更改。

回答

0

不知道,如果它可以幫助你,但是從ClickOnce的維基百科頁面: 的ClickOnce部署的應用程序被認爲是「低影響」,因爲它們是每個用戶安裝,而不是每個機。無需管理員權限即可安裝其中一個應用程序。每個ClickOnce應用程序都與其他應用程序隔離。這意味着一個ClickOnce應用程序不能「打破」另一個

+0

嗨,但可能會有一個setup.exe創建需要安裝整個.net框架,如果不滿足前提條件的目標?那是一個本地.net安裝 - 看起來很瘋狂,因爲.net 4.5的安裝可以做得很低而且沒有管理員權限? – smackenzie

1

ClickOne並不神奇。剝離一切,這是非常基本的。它將文件複製到用戶配置文件中,並使這些文件與服務器上的文件保持同步。而已。是的,它可以做更多的事情,比如在「添加/刪除程序」中添加一個條目,創建開始菜單快捷方式等等,但它的核心就是在客戶端和服務器之間同步文件。

有「額外」的東西(如bootstrapper aka setup.exe)試圖解決其他問題,但這確實超出了ClickOnce領域。引導程序試圖使安裝依賴關係更容易。如果沒有引導程序,你會告訴用戶首先安裝.NET,然後找到Oracle位並安裝它們,然後啓動ClickOnce應用程序。相反,你將所有這些包裝在一個安裝中。它將檢查.NET是否安裝,如果存在,請跳過它,轉到Oracle,最後啓動您的ClickOnce應用程序。

這很令人困惑,因爲Visual Studio將它集中在一起,並使它看起來像引導程序是ClickOnce的一部分。事實並非如此。除了簡單安裝之外,沒有安裝先決條件的神奇方法。如果該先決條件需要管理員訪問權限進行安裝,則無法安裝,管理員必須安裝它。

相關問題