2012年7月30日月曜日

Adobe Reader X を 仮想アプリ化した場合の注意点 (保護モード問題)

Adobe Reader X を 仮想アプリ化した場合の注意点 (保護モード問題)


Adobe Reader X を仮想アプリ化すると起動時に問題が発生することがあります。
キーワードは、「保護モード」 です。

この「保護モード」の有効・無効で起動結果が変わります。

VMware ThinAppの場合は、現在の最新版 4.7.2 (正確には4.6.2以降)であれば、問題なく起動します。
(保護モードの有効・無効にかかわらず)


Microsoft App-Vの場合は、App-V5.0 以降であれば、問題なく起動します。
(保護モードの有効・無効にかかわらず)
App-V 4.5 / 4.6 / 4.6 SP1の場合は、「保護モード」を無効にする必要があります。
※App-V 5.0は現在Beta版が提供されています。

利用している ThinApp が対応された4.6.2以降かを判断するには
起動時に表示される右下のバーのデザインで可能です。

ver4.6.2以降の新しいデザイン (保護モード対応)

ver4.6.2までの古いデザイン (保護モード非対応)


以下の環境の場合は、問題なく Adobe Reader X を起動できます。
OS: Windows 7 SP1 (x86 / x64)
Adobe Reader X  version 10.1.3
 保護モード 有効・無効どちらでもOK
ThinApp version 4.6.2 以降 ( 4.6.2 / 4.7.0 / 4.7.1 / 4.7.2 )


VMware ThinApp の対応表
OS
Reader
保護モード
VMware ThinApp Version
4.6.0
4.6.1
4.6.2
4.7.0
4.7.1
4.7.2
Windows7
 
有効
X
X
無効
WindowsXP
 
有効
X
X
無効
※Windows7で実行する場合は、ThinApp ver 4.6.2以降であれば、問題ありません。

Microsoft App-V の対応表
OS
Reader
保護モード
Microsoft App-V
4.5
4.6
4.6 SP1
5.0Beta
Windows7
有効
X
X
X
無効
WindowsXP
有効
X
X
X
非対応
無効
※App-V 5.0はWindows7 以降に対応しています。(Windows XPは非対応)

起動時に問題が発生するケース ( Xの場合 )
起動時に以下のような画面が表示されます。
ThinAppの場合は、version 4.6.2以降を利用するか、Adobe Readerの保護モードを無効にします。
App-Vの場合は、保護モードを無効にするか、App-V 5.0を利用することになります。



起動後のUIがちょっとおかしいケース ( △の場合)
ThinAppの場合で、実行するOSが Windows XP の場合に
保護モードを有効にしていると、画面のスタイルがクラッシックになってしまいます。
Lunaスタイルにしているにも関わらず。

対処方法は、保護モードを無効にする事になります。
※Windows 7では問題なく、Aeroスタイルが適用されます。


保護モードを変更する方法
保護モードを変更する場合は、以下の画面から行います。
「編集」-「環境設定」-[一般]-「起動時に保護モードを有効にする」
レジストリを直接編集する場合は、以下のキーを変更します。

 HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\10.0\Privileged
REG_DWORDでbProtectedMode
1が有効
0が無効です。

仮想アプリケーションの仮想レジストリの初期値に埋め込む場合
以下のサンプルは、「保護モード」を無効化する方法です。


ThinAppの場合
仮想レジストリを直接編集する場合は、HKEY_CURRENT_USER.txtに
以下のように設定します。

isolation_full HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\10.0\Privileged
  Value=bProtectedMode
  REG_DWORD=#00#00#00#00


App-Vの場合

仮想レジストリを直接編集する場合は、仮想レジストリタブを開き
USERの配下にある、レジストリ値を変更します。
Software\Adobe\Acrobat Reader\10.0\Privileged
bProtectedMode
を0に設定します。


参考:
AdobeReaderの保護モードは、とても複雑なことをやっているようです。
このあたりに、情報があります。
Inside Adobe Reader Protected Mode  Part 1  Design