我是軟件開發新手(雖然不是編程)。我正在交付我的第一個商業版應用程序,我需要單擊安裝程序包。我研究了許多解決方案 - 我使用C#編寫了自己的代碼(它基本上只是抓住我的三個文件夾到各自的目的地),但遇到了捆綁一些IO庫的一些問題。由於我使用的是Visual Studio Express 2012,因此我無法使用InstallShield模塊。我發現了WiX,雖然它有一些在線教程,但這項服務的學習曲線非常高 - 可以肯定地說我很困惑。WiX爲我的C#應用程序創建一個簡單的安裝程序和合並模塊
我有三個文件夾:
- myApplication2013文件夾
- myApplication2014文件夾
- System.Data.SQLite.dll
我的C#代碼的邏輯如下:
public static void installer(){
deleteLegacyFiles(); // deletes legacy myApplication directories and files
moveSQLite(); // moves system.data.sqlite database to directory
if(checkRevit2013()){ // install myApplication 2013 if Revit 2013 is installed
moveMyApplication2013();
}else if(checkRevit2014()){ // if Revit 2014 is installed, install myApplication 2014
moveTally2014();
}else{ // tell user both Revit 2014 and Revit 2013 is not installed
System.out.println("It does not look like you have either Revit 2013 or Revit 2014 installed.");
}
}
目標位置將由的.msi指定,作爲目標位置:
- 所有MyApplication-2013是:
C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2013
- 所有MyApplication-2014是:
C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2014
- System.Data.SQLite.dll是:
C:\\Windows\\Microsoft.NET\\assembly\\GAC_64
安裝程序的真正用處是源文件夾/文件(來自上述3)並將它們複製到目標位置。這也是我的C#腳本所做的(儘管它使用IO庫)。我需要爲WiX做些什麼?我感到很困惑。
我還需要創建一個合併模塊。
謝謝。
僅僅在你的文件夾結構上運行[Heat](http://wixtoolset.org/documentation/manual/v3/overview/heat.html)還不足以開始嗎? – rene
對不起 - 什麼是熱,它有什麼作用? – theGreenCabbage
熱是收割機。如果你按照我提供的鏈接,你會發現它會根據它在文件夾結構中找到的文件爲你生成一個wxs文件。然後可以將wxs文件鏈接(使用燈光)和編譯(使用蠟燭)到msi文件。通過查看生成的wxs文件,您可以學到很多東西,並且可以輕鬆擴展 – rene