既存のインストーラーを調べて、それが WIX / WISE / OtherTechnology インストーラーであるかどうかを判断することはできますか?
2 に答える
Windows インストーラーの仕様では、次のことがカバーされています。
ORCA は何らかの理由でこのフィールドを表示しませんが、簡単なコード スニペットで表示されます。
using Microsoft.Deployment.WindowsInstaller;
foreach (string file in Directory.GetFiles(@"C:\windows\installer", "*.msi", SearchOption.TopDirectoryOnly))
{
using (Database database = new Database(file, DatabaseOpenMode.ReadOnly))
{
Console.WriteLine("{0} : {1}", database.ExecutePropertyQuery("ProductName"), database.SummaryInfo.CreatingApp);
}
}
興味深い結果を返します...
すべてのファイルは、Windows エクスプローラーで確認できます。右クリックして、[プロパティ]、[バージョン] または [詳細] の順にクリックします。決定的ではないかもしれません。デフォルトでは、WiX でビルドされた Windows インストーラー パッケージは、Windows エクスプローラーで表示可能なプロパティでそれを示します。Windows インストーラー パッケージに完全にアクセスするには、Windows SDK または InstMSI などの Orca を使用できます。カスタム アクション バイナリがある場合は、それらを (DLL として) 抽出してチェックすることもできます。カスタム アクションでは、プロパティまたはカスタム テーブルに特定の命名規則を使用することもできます。たとえば、WiX は一部のプロパティ名に WIX_... を使用します。同様に、ダイアログには認識可能な名前またはコントロール レイアウトがある場合があります。
実行可能ファイルについては、CFF Explorer または UniExtractor を試してください。また、the.exe /?
あなたに言うかもしれません。
ただし、一般に、インストーラー ビルダーまたはランタイムを識別可能にする必要があるという仕様または実際的な要件はありません。