できれば C# と .NET で小さなプログラムを作成する必要があります。このプログラムは、インストーラー ファイル (.exe) を引数として受け取り、それを実行して .MSI を出力します。
理由と私の制限は次のとおりです。私は、システムでオープン ソース (およびほとんどのクローズド ソース) アプリケーションを許可しないプログラムで作業しています。その理由は長い話ですが、それが境界です。
ただし、必要に応じて、.NET フレームワークまたは Windows API 呼び出しを使用してアプリケーションを作成できます。
.MSI オプションを使用する理由は、Windows Server 2008 GPO で MSI を実行して、ネットワーク経由で更新プログラムをインストールするためです。これが更新を行うための唯一のオプションです --- .MSI に代わる他の方法があることは認識していますが、(上記の理由に関連して) 私たちはクローズド システムであり、GPO のみを使用します。
私の理由はさておき、どの .NET 関数、API 呼び出し、または何かでこれを実行できるか、誰か知っている人はいますか? 適切な関数呼び出しがあれば、これは非常に簡単なアプリケーションを作成できると思いますが、Google と MSDN の検索はすべて完全に空になるか、フリーウェアの exe2msi プログラムがランダムに出てきます。