2017-06-01 39 views
1

現在我有一個完整的程序,需要部署一些文件。我想問問,如果可以在不使用ClickOnce或其他外部工具的情況下部署該程序,並且所需的文件數量最少?發佈VisualStudio程序

該程序將在服務器上運行,並將在本地進行更新,但由於該程序是按用戶安裝的,這是否意味着如果我用我的用戶登錄服務器,使用直接路徑程序不會找到它?這也使得維護程序更加惱人,因爲當更改到來時,當前的維護者將不得不總是導航到xyz文件夾來編輯一個配置文件。如何在沒有ClickOnce或其他工具的情況下發布程序?

回答

1

選項包括:

  • Click once(你不想)
  • Visual Studio installer Projects
  • WiX Toolset
  • 其他安裝...
  • 寫一個安裝在自己的(止跌不推薦)
  • 只需將exe(和其他需要的文件)放在某個目錄中並啓動程序
  • 把exe文件上的共享位置,並推出從那裏
+0

如果使用ClickOnce,將其安裝到遠程機器(服務器),那麼有權訪問服務器/文件夾的用戶將能夠啓動該程序嗎? – EInherjar

+0

@EInherjar如果用戶有權在自己的機器上執行應用程序,並且有權執行應用程序的任何操作,那麼是的。你可以想象它就好像用戶將自己的應用程序安裝在自己的機器上一樣 –

+0

我只是對ClickOnce特別感到困惑,因爲它聲明他們在用戶的基礎上安裝程序,這意味着如果我在一臺PC上有兩個用戶,並且只有一個安裝程序,只有一個能夠運行它,或者我誤解了這一點? – EInherjar

0

您可以重新分配爲一組文件。不過,我不會推薦這種方法。你逼誰部署你的程序的人:

  1. 選擇位置的文件
  2. 記住此位置時的時間來卸載來。
  3. 句柄更新和版本管理
  4. 恢復程序功能,如果任何所需的文件將被損壞。

您可以使用VS安裝項目模板,here's tutorial

或者您可以使用免費Wix installer,它有一個學習曲線,但提供了更多的權力給開發者。

您可以使用VS安裝項目和wix來執行perMachine安裝。

+0

因此,沒有辦法只將整個程序與依賴關係,.dll文件放在一個.exe文件中,並附帶一個app.conifg文件,而沒有其他的東西?我的意思是,最終用戶只有他的.exe文件和一個隱藏的app.config文件。 – EInherjar

+1

[你可以](https://stackoverflow.com/questions/10137937/merge-dll-into-exe) – Vlad