GAC から DLL をエクスポートする必要があったため普通無い調べました。
GAC とは?
- Global Assembly Cache のことです。
- マシンでグローバルにアセンブリを参照出来ます。
- 規定のパスは「%windir%\assembly」です。
GAC をのぞく
エクスプローラーで「C:\Windows\assembly」を開いてみます。
通常の表示とは若干異なります。
これは「アセンブリキャッシュビューア」によるものらしいです。
アセンブリキャッシュビューアが有効だと DLL がコピーできないようです。
これでは困るのでこれを無効にします。
アセンブリキャッシュビューアを無効にする
regedit.exe を管理者権限で起動します。
「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion」で右クリックし「新規」→「DWORD(32ビット)」をクリックします。
名前を「DiableCacheViewer」とします。
「DisableCacheViewer」を右クリックし、修正をクリックします。
「値のデータ」を「1」とし、OKをクリックします。
これでアセンブリキャッシュビューアが無効になります。
エクスプローラーで「C:\Windows\assembly」を開いてみるとアセンブリキャッシュビューアが無効になったことが分かります。
GUI でやるのがめんどくさい人は PowerShel でも出来ます。
New-ItemProperty -path "HKLM:\Software\Microsoft\Fusion" -name "DisableCacheViewer" -value 1 –PropertyType DWORD -Force
GAC から DLL をエクスポートする
アセンブリキャッシュビューアを無効にすればあとは好きなだけ DLL をコピー出来ます。
Copy-Item -Path C:\Windows\assembly\GAC_32\ESRI.ArcGIS.ADF -Destination D:\Somewhere -Force -Recurse
裏話
ArcGIS 10.1 から 10.6 にアップグレードした際にジオコーディングバッチが動かなくなりました。
ログを見ると DLL の参照がありません的なメッセージがありました。
そこでバッチで参照している DLL を見てみると ArcGIS Web ADF なるものを発見しました。
ArcGIS Web ADF について調査すると…
次期バージョンの ArcGIS 10.2 がいよいよ来月末リリースする予定です。前回のバージョン 10.1 のリリースが 2012 年 10 月 1 日でしたのでちょうど 1 年の歳月を経てのバージョンアップとなります。
この ArcGIS 10.2 のリリースに伴い、ArcGIS 10.1 までサポートされていたいくつかのコンポーネントや環境などがサポート終了となります。
目立ったところでは、ArcGIS for Server に付属していた Web アプリケーション開発キットの Web ADF(Application Developer Framework)および ArcGIS Server Manager のウィザードを使って作成できる Web マッピング アプリケーションが提供されなくなります。これらについてはすでに JavaScript や Flex、そして Silverlight といった各種 Web API を提供しており、それらを使用することをお勧めしています。
そりゃあ 10.6 で提供されているわけないよなー
ということで旧サーバーから DLL を取り出す必要があったためこの記事を書くに至りました。