3 つの dll を GAC にコピーする非常に単純なセットアップ プロジェクトがあります。それだけです。XP では正常に動作しますが、Vista マシンでは、ファイルに書き込めず、アクセス許可を確認できないというエラーが発生します。これは、Vista でのナンセンスななりすましに関係していると確信していますが、対処方法がわかりません。
他の誰かがこれに遭遇しましたか? もしそうなら、どのようにそれを克服しましたか?
3 つの dll を GAC にコピーする非常に単純なセットアップ プロジェクトがあります。それだけです。XP では正常に動作しますが、Vista マシンでは、ファイルに書き込めず、アクセス許可を確認できないというエラーが発生します。これは、Vista でのナンセンスななりすましに関係していると確信していますが、対処方法がわかりません。
他の誰かがこれに遭遇しましたか? もしそうなら、どのようにそれを克服しましたか?
Windows インストーラーを使用している場合、アセンブリを特別なグローバル アセンブリ キャッシュフォルダーに配置していますか? これは、Vista と Windows 7 で常に機能していました。GACUtil などを使用する必要はありません。アセンブリをインストーラー プロジェクトの適切なフォルダーに配置するだけです。
gacutil.exe を使用して dll をインストールしますか? それともファイルをコピーするだけですか?
とにかく、多くのアプリケーションで使用されていない限り、カスタム dll に対して GAC を使用することは避けてください。dll をアプリケーションの近く/ローカルに保持します。ディスク容量がいくらかかかるだけで、単純な Xcopy 展開を使用できます。
MSIを作成するためにどのコンパイラを使用していますか?先週末の楽しみの後、私はMSIとVistaの問題の専門家になるかもしれません:)
VC2003またはVC2005を使用している場合、コンパイラのバージョンによって異なる問題があります。
2005の場合は、サービスパックとVistaサービスパックがインストールされていることを確認してください。それはあなたの問題を解決するかもしれません。
それが失敗した場合は、カスタムアクションを使用してGACに配置できますが、no_impersonateビットが誤って設定されている2005年のバグに注意してください。スクリプトまたはorca.exeを使用して、このビットを自分で設定する必要があります。