[英]Visual Studio Publish Project Into One Simple Installer
我有一個相當大的項目,其中包含多個類,500多個圖像和與該項目相關聯的20多個文本文件。
我一直在通過右鍵單擊project->properties
,然后單擊publish選項卡來發布我的項目。 我已經包括了文本文件和圖像作為resources
。
問題是,每當我安裝一個應用程序時,通常是一個簡單的安裝程序,即下載一個安裝程序(一個文件,如installer.exe),然后運行該文件,然后帶您完成安裝過程,例如將其安裝到何處,等。然后安裝該應用程序,僅此而已。
好了,在發布應用程序時,我指定了一個輸出目錄,並且剩下這些文件:
MyProjectName.application
(清單?) 如果運行setup.exe
,則可以安裝該應用程序並運行它而不會出現任何問題。 但是,它不僅不能讓我選擇安裝位置,而且還必須將所有這三個文件發送給用戶。 我試圖只將setup.exe
發送給朋友,它說他們缺少所需的文件(我假設這是application files
和.application
的用途)。
我該如何將所有這些都捆綁到一個安裝程序中,與您將如何安裝企業應用程序(例如安裝chrome,eclipse,photoshop等)更緊密地匹配?
我非常希望能夠擁有一個安裝程序文件,並且能夠讓用戶下載該文件。
謝謝
The Ancients :如果以下內容是
TL;DR
(太長,沒有讀過),請略過這兩個鏈接:
更新 : 2018年9月 -由於此“答案”最近被否決,讓我嘗試添加更多鏈接以查看答案的意圖是否可以更加清楚。 不要過於戲劇化,但是:
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 Scripts
,IIS
,適當的COM / COM+
,Users & Groups
,Shares
,Firewall Rules
,Custom GUI
等。商業工具和WiX對這些功能具有高級支持。 編譯后的MSI文件的內部也是不合標准的(使用自注冊,對服務的自定義操作等)。 我經常會遇到該工具由於“某些未知原因”而停止工作的情況。 突然,它將無法編譯。 具體示例 (已修復)。替代方案 :
- 部署工具的簡單列表視圖
WiX快速入門提示 (如果該工具需要免費)
如何創建Windows Installer (鏈接到各種部署工具,MSI優勢摘要以及一些趨勢部署技術的簡要說明)
開源WiX工具包具有一個稱為
Burn
的組件,用於創建此類setup.exe
啟動器/下載器/引導程序-用於依次運行多個安裝和/或安裝先決條件(一個非常常見的任務-Visual Studio項目僅支持一些先決條件)。要使用此刻錄功能,必須編寫WiX XML標記代碼。 商業工具Installshield和Advanced Installer提供了GUI功能來構建此類
setup.exe
文件。
Visual Studio安裝程序非常有限,我從未使用過。 WiX (指向嘗試為WiX速成課程提供一些鏈接的答案的鏈接)是成熟的開放源代碼部署解決方案。 掌握它需要一些時間,但是它非常好且靈活。 諸如Installshield或Advanced Installer之類的商業解決方案將使您可以更快,更輕松地交付設置,但它們的價格可能很高。
鑒於Visual Studio Installer項目的局限性(和錯誤),我相信正確的解決方案是使用其他工具:使用哪種安裝產品? InstallShield,WiX,Wise,Advanced Installer等 。 如果您根本不需要任何高級的東西,那么您將為否則而苦惱。 使用更高級的工具,即使有時可能涉及更多的工作,至少也可以做您需要的事情。
讓我知道您想知道的有關此過程的信息,我將盡力提供幫助。 我不確定要提供什么軟件,目標用戶群是什么,預算多少,等等。。。Windows Installer對於許多公司利益是非常可取的,但是還存在其他部署技術(請參見上面各種說明)使用工具)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.