簡體   English   中英

Visual Studio將項目發布到一個簡單的安裝程序中

[英]Visual Studio Publish Project Into One Simple Installer

我有一個相當大的項目,其中包含多個類,500多個圖像和與該項目相關聯的20多個文本文件。

我一直在通過右鍵單擊project->properties ,然后單擊publish選項卡來發布我的項目。 我已經包括了文本文件和圖像作為resources

問題是,每當我安裝一個應用程序時,通常是一個簡單的安裝程序,即下載一個安裝程序(一個文件,如installer.exe),然后運行該文件,然后帶您完成安裝過程,例如將其安裝到何處,等。然后安裝該應用程序,僅此而已。

好了,在發布應用程序時,我指定了一個輸出目錄,並且剩下這些文件:

  • 申請文件
  • MyProjectName.application (清單?)
  • SETUP.EXE

如果運行setup.exe ,則可以安裝該應用程序並運行它而不會出現任何問題。 但是,它不僅不能讓我選擇安裝位置,而且還必須將所有這三個文件發送給用戶。 我試圖只將setup.exe發送給朋友,它說他們缺少所需的文件(我假設這是application files.application的用途)。

我該如何將所有這些都捆綁到一個安裝程序中,與您將如何安裝企業應用程序(例如安裝chrome,eclipse,photoshop等)更緊密地匹配?

我非常希望能夠擁有一個安裝程序文件,並且能夠讓用戶下載該文件。

謝謝

The Ancients :如果以下內容是TL;DR (太長,沒有讀過),請略過這兩個鏈接:


更新20189月 -由於此“答案”最近被否決,讓我嘗試添加更多鏈接以查看答案的意圖是否可以更加清楚。 不要過於戲劇化,但是:

As deployment specialists we have to warn people when they commit to using a tool that is bound to fall apart for them down the line when more advanced deployment requirements invariably surface

安裝程序項目已被撤回幾次,然后重新引入Visual Studio中 始終基於這些項目類型(只是較大的項目)中看到的問題:

1)不支持MSBuild(未經我的廣泛測試,但未經其他公司廣泛測試); 2)僅在系統上下文中運行的延遲模式自定義操作(不可在GUI中插入); 3)總體上高度受限的控件(始終宣傳快捷方式,無配置能力)某些事物,等等...), 4)不支持正確的服務安裝-而是需要自定義操作, 5)捆綁的可用先決條件很少, 6)基本的GUI,靈活性差, 7)似乎無法定義MSI功能(如功能部件和組件), 8) 自定義操作等存在32/64位問題

有關該項目類型及其問題的舊的MSDN頁面: 對安裝和部署項目進行故障排除

MSI專家Chris Painter和其他人:

我認為項目類型僅適用於簡單的.NET應用程序。 任何口徑的復雜性都會給您帶來麻煩。 SQL ScriptsIIS ,適當的COM / COM+Users & GroupsSharesFirewall RulesCustom GUI等。商業工具和WiX對這些功能具有高級支持。 編譯后的MSI文件的內部也是不合標准的(使用自注冊,對服務的自定義操作等)。 我經常會遇到該工具由於“某些未知原因”而停止工作的情況。 突然,它將無法編譯。 具體示例 (已修復)。

替代方案

開源WiX工具包具有一個稱為Burn的組件,用於創建此類setup.exe啟動器/下載器/引導程序-用於依次運行多個安裝和/或安裝先決條件(一個非常常見的任務-Visual Studio項目僅支持一些先決條件)。

要使用此刻錄功能,必須編寫WiX XML標記代碼。 商業工具InstallshieldAdvanced Installer提供了GUI功能來構建此類setup.exe文件。


Visual Studio安裝程序非常有限,我從未使用過。 WiX (指向嘗試為WiX速成課程提供一些鏈接的答案的鏈接)是成熟的開放源代碼部署解決方案。 掌握它需要一些時間,但是它非常好且靈活。 諸如InstallshieldAdvanced Installer之類的商業解決方案將使您可以更快,更輕松地交付設置,但它們的價格可能很高。

鑒於Visual Studio Installer項目的局限性(和錯誤),我相信正確的解決方案是使用其他工具:使用哪種安裝產品? InstallShield,WiX,Wise,Advanced Installer等 如果您根本不需要任何高級的東西,那么您將為否則而苦惱。 使用更高級的工具,即使有時可能涉及更多的工作,至少也可以做您需要的事情。

讓我知道您想知道的有關此過程的信息,我將盡力提供幫助。 我不確定要提供什么軟件,目標用戶群是什么,預算多少,等等。。。Windows Installer對於許多公司利益是非常可取的,但是還存在其他部署技術(請參見上面各種說明)使用工具)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM