私はソフトウェア開発に不慣れです(プログラミングではありませんが)。私は商用リリース用の最初のアプリケーションを提供する過程にあり、シングルクリックのインストーラー パッケージが必要です。私はいくつかの解決策を調べました.C#で独自にコーディングしました(基本的に、3つのフォルダーをそれぞれの宛先に取得するだけです)が、いくつかのIOライブラリをバンドルする際にいくつかの問題に遭遇しました. Visual Studio Express 2012 を使用しているため、InstallShield モジュールを使用できません。私は WiX を見つけました。オンラインでいくつかのチュートリアルがありますが、このサービスの学習曲線はかなり高く、かなり混乱していると言って間違いありません。
私は3つのフォルダを持っています:
- 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 に必要な手順は何ですか? 私はとても混乱しています。
マージ モジュールも作成する必要があります。
ありがとうございました。