2012-05-14 95 views
6

我需要一個具有管理員權限的進程。從this問題和答案似乎沒有比推出一個單獨的過程更好的方法。由於我寧願有一個專門的流程,而不是僅僅爲這一個方法在第二個流程中啓動我的原始應用程序 - 我以爲我會在VS2010中的一個解決方案中創建兩個項目。然而,當試圖部署它時,似乎我一次只能發佈其中的一個。這是不行的,因爲我不想要客戶端安裝多個 - 然後也會有問題找出相對路徑等。如何用一次clickonce部署發佈多個應用程序/進程?

我不希望兩個進程都是啓動應用。我想要一個成爲啓動應用程序,它調用(如果需要)第二個只有一個方法。

那麼我如何讓一個clickonce安裝有兩個進程?

回答

10

需要從第1(主)項目第二參考(工人)項目 - 然後,如果你去的第一個項目屬性 - >發佈 - >應用程序文件,你會看到第二EXE作爲一個依賴已經。如果沒有 - 只需將「發佈狀態」下拉菜單設置爲「包含」即可。

也 - 我不確定你的目標是什麼,但看看我的帖子在這裏:Forced the application to have the administrator privileges - 從ClickOnce應用程序以管理員權限調用應用程序的非常類似的問題。可以爲你節省幾分鐘。

+0

謝謝。這似乎已經做到了。 – ispiro

+0

這是否創建兩個桌面圖標? –

+0

@ZacharyCanann nope,只有一個。 – avs099

3

如果您不想讓用戶安裝多個應用程序,那麼您不希望進行多次ClickOnce部署。你真正想要的是一個部署。因此,ClickOnce應用程序需要成爲您的主應用程序,並且您需要在ClickOnce部署中包含輔助應用程序中的exe。我會這樣做:

將該exe的副本添加到ClickOnce項目中,將生成操作設置爲'內容'並將複製到輸出目錄設置爲'始終複製'。然後執行構建並檢查發佈屬性中的「應用程序文件」對話框,並確保它顯示出來。

現在,如果您可以構建解決方案並構建兩個項目,請確保它正在構建首先創建該exe的項目。然後,向ClickOnce項目添加一個後期構建命令,將其從第一個項目的輸出目錄複製到第二個項目的輸出目錄。

會發生什麼,它會構建第一個項目,然後它將構建C/O項目(並將ClickOnce項目的exe版本複製到輸出目錄),然後它將複製最新版本的將EXE從另一個項目導入ClickOnce項目的輸出目錄,然後它將創建部署。

我不是一個msbuild專家,但後構建命令會是這樣的。

COPY/Y 「$(PROJECTDIR).... \ otherproject \ BIN \發佈\ mynew.exe」 「$ TARGETDIR)\ mynew.exe」

這會將從當前項目,兩個級別,另一個項目,然後是bin文件夾,然後釋放+ mynew.exe到構建輸出目錄。我不打算把目錄結構完全對準另一個項目 - 你需要自己設置。但是這給了你一個總的想法。

+0

謝謝。那看起來很有希望 – ispiro

相關問題