Thinkin Markdown

Installer Projects

ASP.NET 網站簡易安裝方式

發佈時間 2020-01-11
閱讀時間 3 分鐘
主題 Visual Studio
標籤
Visual Studio 擴充功能Installer Projects部署
Installer Projects

前言

小弟前幾個月又有接到一個任務,這個要求是「有沒有辦法可以將網站專案包成安裝檔?」,因為團隊這邊想要盡可能達到自動化的方式來部署網站(手動情況)···

其實網路上有蠻多選擇,像是有 Advanced installer 、 Windows Installer XML(WiX Toolset)都是不錯的解決方式,但我在想有沒有更單純的方式來處理,於是腦筋動到了微軟 Installer Projects 上,因為只要在 Visual Studio 擴充功能市集就能找到並安裝!

installer-project-1

Microsoft Visual Studio Installer Projects

大致步驟

  1. Visual Studio Marketplace 搜尋 Installer Projects 並安裝
  2. 已有建立的網站專案(Web Project)
  3. 新增網站安裝專案(Web Setup Project)並加入專案輸出(主要輸出、內容檔···其餘可視專案情況)
  4. 取得安裝檔並且安裝
  5. 測試網站可否運行

簡易教學

Visual Studio Marketplace 搜尋 Installer Projects 並安裝

installer-project-2

Extension and Updates ➡ Online ➡ Search Installer Projects

示範建立 ASP.NET Web 應用(以 Web Form 架構為例,同理 MVC 架構)

installer-project-3

Create ASP.NET Web Application

installer-project-4

Test to run web application by IIS Express

示範建立網站安裝專案

installer-project-5

Create Web Setup Project

初始的方案結構

installer-project-6

Visual studio solution structure

加入專案輸出(主要輸出、內容檔)

installer-project-7

Add project output

installer-project-8

Add main output

installer-project-9

Add content files

現在的方案結構

installer-project-10

Now visual studio solution structure

重建網站安裝專案

installer-project-11

Rebuild web setup project

💭 Difference between a Debug and Release build

installer-project-12

packaging file···

取得安裝檔

installer-project-13

Get .msi & .exe file

💭 Understanding the Difference Between .exe and .msi

嘗試安裝(Double click ExampleWebSetup.msi)

installer-project-14

installer-project-15

到此要稍微注意幾點:

網站:選擇已建立的 IIS 網站(IIS Web Site to choose)

虛擬目錄:定義 IIS 應用程式名稱(IIS Application Naming)

應用程式集區:選擇已建立的 IIS 應用程式集區(IIS Application Pool to choose)

installer-project-16

查看 Internet Information Services 是否已建立應用程式

installer-project-17

測試連上本地端網站

installer-project-18

安裝於 Windows 上的網站資料夾結構可能像是這樣···

installer-project-19

結尾

感謝各位花時間看完此篇小文,如果本文中有描述錯誤,還請各位指教。

其實看到最後你會發現網站資料夾結構跟我直接從專案建置後拿出來部署一模一樣,這也就代表說微軟本身就有提供一個比較簡易的方式可以部署網站,而不用擔心從專案建置後拿來部署又漏東漏西。

但從上面看下來這還不是真正的一鍵安裝╮(╯_╰)╭,還有一段路要走···

如果有機會,或許以後再來補補其他包裝的方式···

如果這篇文章對你有幫助,歡迎分享給更多人!

贊助支持

如果你喜歡我們的文章,或是這些內容對你有幫助,歡迎透過以下平台請我們喝杯咖啡,支持我們持續創作!

Ko-fi

作者

NE

Neil Tsai

樂於分享所見所聞所覺所知的全端工程師

留言功能需要 Cookie 授權

為了載入留言功能,我們需要您同意使用「功能性 Cookie」。您可以隨時在設定中調整。

免責聲明

本網站對於任何使用或引用本網站網頁資料引致之損失或損害,概不負責。本網站亦有權隨時刪除、暫停或編輯本網站所登載之各項資料,以維護本網站之權益。除法律有強制規定外,在任何情況下,本網站對於 (1) 使用或無法使用本網站之各項服務;(2) 經由本網站取得訊息或進行交易;(3) 第三人在本網站上之陳述或作為;以及 (4) 其他與本網站服務有關之事項所致生之任何直接、間接、附帶、特別、懲罰性或衍生性損害,一概不負賠償責任。

CopyRight © 2026 Thinkin Markdown