close

微軟官方文章
.NET Framework 開發人員部署手冊

種類

  • Windows Installer XML (WiX) 工具組
        部屬網站的資料 多到嚇嚇叫..。  有支援 Visual Studio2017 了,而且免費了!
        WiX Toolset
  • Installshield Limited Edition (限量版)
        要錢。
        Flexera InstallShield
        新版的 Visual Studio 已移除 Installshield 打包專案。
  • Advanced Installer
        有免費的,但要註冊、提供相關資料。
        Advanced Installer
  • Installer Project
        免費。
        打包成*.msi檔。
        目前有提供到Visual Studio 2017版。 將來可能會消失。
        Microsoft Visual Studio 2017 Installer Projects
        Microsoft Visual Studio 2015 Installer Projects
        參閱教學:
        在Visual Studio將Windows Service打包成安裝檔
  • Inno Setup
        (閱讀日期2017/11/27)
        看的時候,都是2016-04-06,好像很舊了,都沒更新..。 用另一種script語法撰寫。
        Inno Setup
  • SharpSetup
        (閱讀日期2017/11/27)
        還沒支援 Visual Studio 2017,目前只有2015。 需要 Visual Studio Professional(專業版)!
        SharpSetup
  • IExpress
        看起來可包裝多個(*.exe)安裝檔;還沒試過..。
        IExpress 安裝選項
  • ClickOnce
        Visual Studio 簡易的發佈(publish)應用程式。
  • bin/release
        與 Java 不同,C/C++/C# 編譯過後,即成為可執行的*.exe檔。
        不用發佈或打包成安裝檔即可使用。
  • 用程式撰寫Installer (可搭配 Installer Project )
       Setup and Deployment : Custom Action to Capture User Input
    [RunInstaller(true)]
    public class MyInstaller : Installer
    {
        public HelloInstaller()
            : base()
        {
        }
    
        public override void Commit(IDictionary mySavedState)
        {
            base.Commit(mySavedState);
            System.IO.File.CreateText("Commit.txt");
        }
    
        public override void Install(IDictionary stateSaver)
        {
            base.Install(stateSaver);
            System.IO.File.CreateText("Install.txt");
        }
    
        public override void Uninstall(IDictionary savedState)
        {
            base.Uninstall(savedState);
            File.Delete("Commit.txt");
            File.Delete("Install.txt");
        }
    
        public override void Rollback(IDictionary savedState)
        {
            base.Rollback(savedState);
            File.Delete("Install.txt");
        }
    }

疑難排解

 

arrow
arrow
    創作者介紹
    創作者 Robert 的頭像
    Robert

    Robert 的部落格

    Robert 發表在 痞客邦 留言(1) 人氣()