2017-01-17 14 views
0

Visual StudioからWindowsアプリケーション用の.msiインストーラを作成し、プロジェクトプロパティボックスMyApplication.msi、問題はありません。C: Windows Installerフォルダに追加すると.msiインストーラのファイル名を選択します。

インストール後、Windowsはアンインストール/再インストールのためにC:\ Windows \ Installerのインストーラキャッシュに.msiフォルダを保存し、4363ab.msiのように名前を変更します(これはファイル名の衝突を防ぐためです) 。これが起こらないようにする方法はありますか?.msiは手動で名前を変更する以外に、MyApplication.msiとして保存されますか?

私のクライアントは.msi上にホバーしたり、ファイルのプロパティを読んだりすることなく、.msiがシステム管理者にはっきりと見えるようにしたいので、これが可能かどうかを尋ねます。

答えて

2

これはできません。これは、復元とメンテナンス操作に使用されるWindowsインストーラサービスによって管理されるプライベートキャッシュです。以前のバージョンのWindowsでは、埋め込まれたキャブの「剥ぎ取られた」もので、メタデータだけを残して、より少ないスペースを消費しました。このストリッピングにより、デジタル証明書が無効になり、Windows VistaでUACを使用する際に問題が発生しました。アンインストールを実行すると、「パブリッシャーが未確認」と表示されます。それはWindows 7のMSFTから開始されたので、そこに完全なMSIがキャッシュされ始めたからだ。

しかし、そのキャッシュはまだ私たちにとってはMSIのものではありません。クライアントが実際にMSIが何であるか(またはどちらがあるか)を知りたい場合、MSICacheBrowser.exeを作成してAPI呼び出しを使用してすべての情報を収集し、ユーザーに表示することは自明です。

しかし、あなたは決してこれに触れてはいけません。特に生産中。

関連する問題