ソフトウェアアプリケーション用のMSIインストーラーを定期的にビルドするビルドマシンがあります。私のソフトウェアアプリケーションはいくつかのdllで構成されており、そのうちの1つはテストに使用されます。通常、プロセスには問題はありません。参照されているすべてのdllなどを含むメインプロセスを実行するMSIを作成できます。
ただし、先週、ビルドから作成されたMSIは、インストール時に奇妙な動作をします。つまり、作成されたショートカットは、正しいインストールディレクトリを指しているときに、メインプロセスではなく、テストdllがロードされたNUnitを起動します。後続のビルドでは、生成されたMSIにその問題はありません。2つのビルドのソースコードベースラインを比較すると、最小限の違いがわかります。
2つのMSIの違いに気付くのは次のとおりです。
実際に機能するものには[互換性]タブがありますが、NUnitを起動するものにはありません。
動作しないものは、セキュリティ設定の下にリストされた「インタラクティブ」グループを持っています。
注:私はWindows7で実行しています。
この動作を引き起こす可能性のあるものについてのアイデアはありますか?ソフトウェアベースラインに目立った違いはないので、ビルドマシンがビルド間で何らかの方法で変更されている必要があることに注意しますが、問題がこのように現れるように、これはどのように発生する可能性がありますか?