Quantcast
Channel: アプリ仮想化奉行
Viewing all 93 articles
Browse latest View live

Windows 8 における Visual Basic 6.0 のサポート状況

$
0
0

Windows 8 で VB6 製のアプリを実行する場合のサポート状況

Windows 8 では VB6で作成されたアプリの実行はサポートされています。
Windows7 と 同じです。

Microsoft の公式なアナウンスと情報はこちらが詳しいです。
http://msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx

以前に書いたBlogの内容を参照ください。
「Windows 7 における Visual Basic 6.0 のサポート状況についての備忘録」
http://tunemicky.blogspot.jp/2012/01/windows-7-visual-basic-60.html





ThinApp 仮想環境で動作しているプロセスを確認する方法

$
0
0
ThinApp 仮想環境で動作しているプロセスを確認する方法

ThinAppでアプリを仮想化していると、タスクマネージャーに
複数のプロセス(EXE)が起動していることに気がつくことがあると思います。

こんな感じです。
Mozilla Firefox + Java6を仮想化しています。

赤枠で囲った3つのプロセスがThinAppの仮想環境上で動作しています。
タスクマネージャーからは、判断が難しいです。
java.exe 4400
Mozilla Firefox.exe 7192
Mozilla Firefox.exe 9040 



そんな時は、仮想レジストリを参照すればOKです。
エントリーポイントとしてvRegedit.exeを作成します。
Package.iniファイルを編集します。

例)こんな感じです。
[vRegedit.exe]
Source=%SystemRoot%\regedit.exe
Shortcut=Mozilla Firefox.exe
Disabled=0

編集後にbuild.batを実行します。
vRegedit.exeがbinフォルダに作成されます。


vRetedit.exeを起動します。
実は、ThinAppの仮想環境上で動作している、プロセスは、
仮想レジストリの以下のキーにPIDとEXEのフルパスが登録されています。
「HKEY_LOCAL_MACHINE\SOFTWARE\Thinstall\ProcessList」


名前の部分がPID(プロセスID)でデータ部分が仮想環境でのEXEファイルのフルパスになります。
4400 C:\Program Files (x86)\Java\jre6\bin\java.exe
7192 C:\PROGRA~2\Java\jre6\bin\jp2launcher.exe
9040 C:\Program Files (x86)\Mozilla Firefox\firefox.exe

PIDをもとに、タスクマネージャーと照らし合わせる事で、仮想環境で実行しているプロセスを
確認することができます。

PID
物理環境のプロセス名
仮想環境でのプロセス名
4400
java.exe
C:\Program Files (x86)\Java\jre6\bin\java.exe
7192
Mozilla Firefox.exe
C:\PROGRA~2\Java\jre6\bin\jp2launcher.exe
9040
Mozilla Firefox.exe
C:\Program Files (x86)\Mozilla Firefox\firefox.exe

参考:
「One more method of finding out what processes are running within the virtual environment.」
http://blogs.vmware.com/thinapp/2012/09/one-more-method-of-finding-out-what-processes-are-running-within-the-virtual-environment.html



Windows 8 プロダクトキー の変更方法について

$
0
0
Windows 8 プロダクトキー の変更方法について


Windows 8 の検証を行う際に、プロダクトキーの変更をしようと思って、コントロールパネルのシステムを表示しても、「プロダクト キーの変更」が見当たりません。。。

困っていたら、[MCTの憂鬱]さんや[SEの雑記]さんのBlogに素敵な手順が載っていたので
助かりました。

詳細は、こちらを参照してください。

・MCTの憂鬱 
http://naonao71.wordpress.com/2012/08/16/windows8-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E8%AA%8D%E8%A8%BC/

・SE の雑記
http://engineermemo.wordpress.com/2012/08/16/windows-8-enterprise-edition-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E8%AA%8D%E8%A8%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

自分用のメモとして、Windows 7 の頃にあったGUI版のプロダクトキー画面の表示方法です。

------宣伝-----
※VMware ThinApp (アプリケーション仮想化)に興味のある方は、こちらを
御覧ください。

[VMware ThinApp 製品概要と活用 解説書 (日本語 SoftBankBB製) の紹介]

http://tunemicky.blogspot.jp/2013/08/vmware-thinapp-softbankbb.html
------宣伝-----
コマンドプロンプトを開いて、「slui 3」を実行します。
※slui半角スペースの後に、パラメータとして半角数字の3です。






参考:
MCTの憂鬱
http://naonao71.wordpress.com/2012/08/16/windows8-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E8%AA%8D%E8%A8%BC/

SE の雑記
http://engineermemo.wordpress.com/2012/08/16/windows-8-enterprise-edition-%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E8%AA%8D%E8%A8%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/



ThinApp 導入事例について 「OSやハードウェアに依存しない、"しなやかな基盤"」

$
0
0
ThinApp 導入事例について 「OSやハードウェアに依存しない、"しなやかな基盤"」

日本国内での ThinApp の導入事例が、VMware社から公開されました。

VMware ThinAppとして、日本の導入事例が公開されたのは、初だと思います。
(もちろん多数の国内の企業で5年前から利用されています。)
http://www.vmware.com/jp/company/customers/

PDFの直リンク
http://www.vmware.com/files/jp/pdf/customers/apac_jp_12Q4_cs_vmw_Benesse_Japanese.pdf


私の偏見かもしれませんが、メーカーが公開する導入事例と言うと、誇張された
バラ色の未来や、絵に描いたような綺麗事が並びがちで、実際の現場との
温度差があったりするんじゃないかなと思ったりもします。
良い事しか書いてないですもんね。

このThinAppの導入事例は、本当に素晴らしく、
真実が書かれていると思います。
※根拠は、ありません。と言うか書けません。



長年アプリ仮想化に関わっていますが、今までハッキリと伝えられなかった
夢や目的がハッキリした気がします。

・このテクノロジーが産まれた背景は?
・アプリ仮想化に求められる事は何か?
・どんなメリットをもたらすのか?
・そもそも、なんでアプリ仮想化が必要なのか?

という根本的な所が、スッと消化できた気がします。
今更ですけど。。。

一番こころに響いたのは、この一文です。

古いシステムには、それまでの業務で蓄積された多くの
経験、ノウハウが詰まっています。
言い換えれば、企業にとっての資産であるだけに、
OSやハードウェアに依存しない
“しなやかな基盤”
支えてくれるVMwareThinApp

・古いシステムを大事にする事
 これまでの経験、ノウハウが詰まっている大切な物

・OSやハードウェアに依存しない事
 まだまだ、使えるのに環境等の問題で利用し続けるのが困難になってしまう。

アプリケーションのライフサイクルは、利用者や運用する企業自身が決める物です。
OS開発ベンダー、ハードウェアベンダーやアプリ開発ベンダーのライフサイクルに、必ずしも歩調を
合わせる必要は無いんじゃないかと。

ただし、保守が切れるとセキュリティのリスク等が高まるのは、避けられないので、
いつ、どのタイミングで、新しい環境に移行していくかは、絶えず考慮しないといけません。

今までは、OS、ハードウェア、ソフトウェアの3つセットで、一斉に同じタイミングで
切り替える必要がありました。
密接に絡み合っていた、密結合ですね。

これからは、きっと、ユーザー主導で、それぞれ良いタイミングで、切り替えられるように
なっていくと思います。
それぞれの、結合部分に仮想化レイヤーが入り、結合度合いが緩やかになる。
疎結合ですね。

これが、「しなやかさ」では無いかなと。



今日のまとめ。

仮想アプリって何?

アプリケーションの利用を「しなやか」にするための物です。


仮想化って何?
仮想化とは、「しなやかさ」を提供する物です。

「しなやかさ」って何?
ただ単に、柔らかいのでは、なく
一本筋の通った、コシのある状態です。

辞書で調べたらこんな感じでした。

     弾力があってよくしなうさま。「―な足腰」「―な枝」
     動きやようすがなめらかで柔らかなさま。「―な身のこなし」「―な革」
     姿態などがなよなよして上品なさま。たおやかなさま。

「しなやかさ」が無いとどうなるの?
硬くてガチガチです。ちょっとした力でボキッと折れます。


ThinApp version4.7.3 Build 891762リリース

$
0
0
ThinApp version4.7.3 Build 891762 がリリースされました。


2012年 11月 13日
ThinApp version 4.7.3
Build 891762

Release Notes
https://www.vmware.com/support/thinapp4/doc/releasenotes_thinapp473.html

このバージョンの目玉は、Windows 8 がサポートされたことです。

また、たくさんのfixされた物があるので、今まで以上に安定的に、たくさんの
Windowsアプリが仮想化できるとおもいます。

私が関係しそうな物もたくさんFixされたので、よかったです。
Package.iniに新しいパラメータが追加されました。
PreventDllInjection=1
です。

WindowsXPにNxPowerLiteがインストールされている環境の場合に、ThinAppedされた
仮想アプリが、起動しなくなってしまう問題がありましたが、このオプションを適用することで
正常に起動できるようになります。

New Package.ini parameter - You can use the PreventDllInjection=1 parameter to prevent ThinApp runtime from loading a DLL when another external application calls the SetWindowHook to set a global hook. This parameter should be used only when the hook is in conflict with a virtualized application. For example, if a virtualized application is unable to start because the other application NxPowerLite calls SetWindowsHook to set a global hook oehook.dll, modifying the package.ini with PreventDllInjection entry allows the virtualized application to start.
[BuildOptions]
PreventDllInjection=1
と書くことで、起動時にThinAppedされた仮想アプリケーションが動作しなかったり
動作が不安定になる事象が改善される可能性があります。

見所は、既知の問題として、報告されている物の部分は、以前のリリースノートでは
既知の問題として、記載されているだけでしたが、
今回のリリースノートでは、対処方法まで丁寧に解説されています。

仮想アプリが、正常に動作しなくて悩んでいる方は、是非、既知の問題の
内容を確認して、対処方法を試してみて下さい。



リリースノートから引用
Resolved Issues

The ThinApp 4.7.3 release resolves the following issues:
  • JavaScript errors are displayed on the EULA screen when you attempt to install ThinApp application.
  • When you start virtualized Internet Explorer 7 on a Windows 8 or Windows Server system, the following error message is displayed:
    Cannot find 'url'. Make sure the path or Internet address is correct.
  • Virtualized Microsoft Outlook 2003 running on Windows 2000 fails when it receives an e-mail message containing an embedded object as an attachment.
  • When you start virtualized applications for the first time, an access violation error message is displayed. This issue is observed for applications virtualized with ThinApp 4.7.2.
  • Virtualized Internet Explorer 6.0 stops responding when you attempt to open a PDF file from the Acrobat Reader X installed on the system.
  • ThinApp MSI upgrade option fails when you try to upgrade virtualized Mozilla Firefox 12 to Mozilla Firefox 13.
  • Crossbase application virtualized using ThinApp 4.7.1 fails to start on Windows XP and Windows 7 operating systems.
  • Compared to ThinApp versions 4.6.1 or 4.7 the performance of virtualized Firefox 12 is inconsistent on ThinApp 4.7.1.
  • Service Center Perigrine virtualized with ThinApp fails to start on Windows 7 and Windows 7 X64 operating systems.
  • When you activate EULA with RuntimeEULA=1 in Package.ini file and run the application package, ThinApp displays older version of the VMware logo and EULA text.
  • On a Windows 8 operating system, if you open a file with a virtualized instance of PowerPoint 2003, PowerPoint fails with the following error message:
    Microsoft Office PowerPoint has stopped working.
  • When you try to run the virtual version of Lotus Notes whose sandbox path is on a Novell share, the application fails with the following error message:
    Unable to access data directory 'C:\Programme\IBM\Lotus\Notes' using the preferences file 'J:Notes\Data\notes.ini'
  • When you attempt to use the record function of a HP Vugen application virtualized with ThinApp 4.7 the application fails with the following error:
    iexplorer.exe- Application Error The application failed to initialize properly (0xc0000005). Click on OK to terminate the application.
  • Virtual version of Eclipse might not recognize the system path and the system environment variable if the user modifies them.
  • If the directory in the DFS share is hosted on a NetApp device, in the user interface ThinApp might not display directories or files present on the DFS share.
  • ThinApp forces the repair of the Microsoft Office 2010, when you launch some instances of Microsoft Excel from the virtual version of SAP 7.20.
  • When you open and close a PDF file multiple times using Adobe Acrobat in virtual Internet Explorer 6.0 as an inline viewer, virtual IE 6.0 fails due to increased memory usage.
  • Virtual Internet Explorer 6.0 fails to access any Website on Windows 8 operating system.
  • Internet Explorer does not redirect the Thindirect URLs to the SeaMonkey browser even, if you enable the Thindirect plug-in.
  • When you perform Appsync upgrade of an application from ThinApp 4.7.0 to 4.7.2 it results in the following error message:
    The system cannot find the file specified. For more information see Knowledge Base article 2036567.
  • The ThinDirect plug-in allows only the virtual Internet Explorer 6.0 to redirect the URLs to the native browser. On other browsers the redirection option might not work.
  • When you enable the Turn on User Account Control option in Control Panel, virtual Internet Explorer 8.0 and Internet Explorer 9.0 might not display Internet Explorer help topics.
  • Virtualized Google Chrome browser fails to start on Windows 8 operating system.
  • On Windows 8 operating system, you cannot save a file with .pdf or .xps extension with virtualized Microsoft Word 2010 or Microsoft PowerPoint 2010.
  • ThinApp fails to start virtual URL package on Windows 8 operating system.
  • Virtualized Internet Explorer 7.0 fails to start on Windows 8 operating system.
  • In virtualized Internet Explorer 7.0 when you select What's new in windows Server 2012 option from the help menu, Internet Explorer fails with the following error message:
    Internet Explorer has stopped working
    This issue is observed on the Windows Server 2012 operating system.
  • When you start the virtual version of HP User Generator for the first time, the application displays the following error message:
    spill file I/O error.
  • In virtualized Internet Explorer 6.0 the Browse option in the Certificate Import Wizard (Tools >Internet Options >Content >Certificates >Import) might not work. This issue is observed on Windows 8 operating system.
  • On Windows 8 operating system, when you attempt to print a Web page from virtualized Internet Explorer 6.0 the application displays the following Printing error message:
    An error occurred during this operation.
  • When you start Camtasia Studio virtualized with ThinApp 4.7.1 the application fails with the following error message:
    Camtasia Studio has encountered a problem and needs to close. We are sorry for the inconvenience.
  • ThinApp sandbox might not save the changes made to the virtual version of Mozilla Firefox on Windows 8 operating system.
  • On Windows 8 operating system, the buttons on the Manage Add-ons page of virtualized Internet Explorer 9.0 might not work.
  • The Protected Mode settings of the virtualized Internet Explorer 9.0 are inconsistent with the native Internet Explorer settings on Windows 8 operating system.
  • Blackberry 9780 Simulator's browser might not start on ThinApp which is deployed on a system with Windows XP operating system.
  • Some Log monitor features like Profiling Data and Function Usages do not work on official ThinApp builds of Buildweb.
Known Issues
The following known issues are known to occur in the ThinApp 4.7.3 release:
  • Virtual Internet Explorer 6 displays incorrect Internet Explorer Help on Windows 7 operating system.
  • When you attempt to run virtual Microsoft 2010 applications the first time by double-clicking a file name, the application might fail to open and an error message is displayed that Windows cannot find a file. To search for the file, go to Start > Search > For files or folders and enter the file name the application starts.
  • Thinreg.exe registers virtual applications even if a wrong argument is used.
  • ThinDirect functionality does not support POST data operation.
  • On Windows 8 operating system, virtualized Microsoft Visio 2010 stops responding when you try to insert a shape into a flowchart.
    Workaround: After completing the Microsoft Visio capture, exclude the %Fonts% folder from the project directory.
  • Virtualized Internet Explorer 8.0 captured on an operating system version earlier than Windows Vista fails to start on Windows 8.
    Workaround:
    1. Capture Internet Explorer 8 on a clean Windows XP system after upgrading Internet Explorer 6.0 to Internet Explorer 8.0.
    2. Install Internet Explorer 8.0 on a clean Windows Vista system.
    3. Copy Program Files\Internet Explorer\IEShims.dll from Windows Vista to ProgramFilesDir%\Internet Explorer of Windows XP capture project.
  • The contents of the help files are not displayed for virtualized version of Microsoft Office 2010
    Workaround: After completing the Microsoft Office 2010 capture, exclude the %Fonts% folder from the project directory.
  • On Windows Server 2012, when you click a hyperlink to a web url's in Microsoft Word 2003, 2007 and 2010 it results in the following error message:
    Internet Low-Mic Utility Tool has stopped working. If you select the option to close the dialog box it results in another error message
    An Unexpected error has occurred

    On Windows Server 2012, virtualized Microsoft Excel 2003, 2007 and 2010 fails with an error message when you click a hyperlink to a web url:
    Microsoft Office Excel is waiting for another application to complete an OLE action 
    Workaround: To resolve the hyperlink issue, add the following parameters in package.ini and rebuild the project

    • ChildProcessEnvironmentDefault=Virtual
    • ChildProcessEnvironmentExceptions=ielowutil.exe
  • The combination of virtualized Java Runtime Environment and Internet Explorer 9.0 does not work.
    Workaround:
    1. Install the latest version of ThinApp on a clean Windows 7 operating system (with the built-in Internet Explorer 8)
    2. Run prescan with Setup Capture and install the Internet Explorer 9 and restart the system
    3. Continue the capture process, install the latest version of JAVA Run Time
    4. Open the Internet Options and uncheck the Enable Protected Mode (requires restarting Internet Explorer) in the Security tab for Internet zone. Close Internet Options and the Internet Explorer.
    5. Restart the Internet Explorer. If you are prompted with the warning message Protected mode is turned off for the Internet zone. Select Don't show this message again option and exit.
    6. Continue the capture process and build the project
  • On virtualized Internet Explorer 9.0, the link Find more toolbars and extensions on Manage Add-ons page might not work. This issue is observed on Windows 8 operating system.
    Workaround: Include the following information into HKEY_LOCAL_MACHINE.txt in the Internet Explorer 9.0 project and rebuild it:

      isolation_full HKEY_LOCAL_MACHINE\Software\Classes\IE.HTTP\shell\open\command Value=
      REG_SZ~"%ProgramFilesDir%\Internet Explorer\iexplore.exe" %1#2300


      isolation_full HKEY_LOCAL_MACHINE\Software\Classes\http\shell\open\command Value=
      REG_SZ~"%ProgramFilesDir%\Internet Explorer\iexplore.exe" %1#2300
  • When you print some PDF documents from virtualized Adobe Reader 10.1.2 or 10.1.3 the printed files contains some incorrect characters.
For more information about known issues with ThinApp packages, see the VMware Knowledge Base. The Knowledge Base articles added and updated in ThinApp 4.7.3 are:
  • When you perform Appsync upgrade of an application from ThinApp 4.7.0 to 4.7.2 AppSync displays the following error message.
    The system cannot find the file specified. For more information see2036567.
  • Issues with ThinApp and Microsoft Office 2010. See 1022287.
  • Virtualized Internet Explorer 8.0 captured on an operating system version earlier than Windows Vista fails to start on Windows 8. For more information see 2038758

    Windows XP で IE9 が動くのか。 (アプリの互換性を考えてみる)

    $
    0
    0
    Windows XP で IE9 が動くのか。(アプリの互換性を考えてみる)



    結果: ThinAppで仮想化したとしても、Windows XPではIE9は、動きません。
    ※Windows Vista / Windows 7では動作します。

    アプリケーションの仮想化の目的の一つに
    「古いOSで動作するアプリを新しいOSで動作させたい」というのがあります。
    例) WindowsXPで動くアプリをWindows7で動かす。

    古いOSから新しいOSでの動作は、俗にいう
    後方互換性です。 "backward compatibility"
    新しいOSは、古いOSのアプリがある程度動くように
    意識して作られています。

    今回のチャレンジは、その逆です。
    前方互換性です。"forward compatibility"
    Windows XPの立場で考えると、まだ見ぬ新しいOS用に開発されたアプリが
    動くかどうかなんか分かるわけ無いのです。
    IE9を作った人たちがWindows XPで動くように作ったか否かだけですね。
    IE9はWindowsXPで動くように作られていません。



    そもそも、OSの主な役割は、アプリを動かすための基盤です。
    OSが普及するためには、その上で動作するアプリの数と質が非常に
    重要です。

    その点、Windowsは圧倒的なアプリの数を誇り
    今のポジションにあると言えます。
    ゲーム機と似ていますね。
    任天堂の携帯型ゲーム機は、1世代前のハードウェア用の
    ソフトが遊べるようになっているかと思います。
    ※細かいところを気にすると例外もあるのでザックリです。
    GameBoy->GameBoy Advanced->DS->3DS

    1世代前のソフトが遊べると、新しいゲーム機の購入がしやすいですよね。
    しかしながら、どうしても古い物に縛られてしまうために
    新しくて革新的な物を生み出すためには、足かせになったり
    新旧を維持することでコストが上がってしまったりと
    全てがうまくいくわけではありませんよね。
    PlayStation3の発売時は、PS2のソフトが遊べなくて色々と物議を醸しました
    訂正:PlayStation3の発売時(初期型)は、PS2との互換性のためにPS2のCPU(Emotion Engine)とGPUを搭載してました。その後の普及モデルではPS2互換は取り去られました。
    スーパーファミコンはファミコンのソフトが遊べなかったりと。

    時には、古いアプリを切り捨てて
    より前に進む決断をする事もあります。

    Windows RTを見ていると、新しい世界に
    踏み込む初期フェーズが発動されたんだな~と感じていたりします。
    x86用のデスクトップアプリがWindows RT(ARM)では、動かない。
    (WindowsRTでは3rdパーティー製は、Windows ストアアプリのみ。)
    これからのWindowsは、今までの膨大なソフトウェア資産を維持しつつ、新しいストアアプリが
    どんどん増えて行く事で益々盤石な基盤として進歩していくんでしょうか。。。

    話が外れてしまいましたが、今回は重要な資産である
    Windowsアプリ(今はデスクトップアプリと呼ぶみたい)の互換性について
    考えてみたいと思います。

    「Windows XP でIE9が動くのか?」
    という素朴な疑問について、実際にアプリ仮想化テクノロジーを利用して
    結果を確認してみました。
    (前方互換性"forward compatibility")

    結論から言うと、「WindowsXPでは、IE9は動作しません。」
    当たり前の結果が出ました。
    それでは、面白く無いのでもう少し掘り下げて、調査してみましたので
    お付き合い下さい。

    今回利用したアプリ仮想化テクノロジーは、VMware ThinAppです。
    (IE6,7,8,9を仮想アプリ化して動作させることができます。)

    IE9自体の動作サポートされているOSは、以下になります。
    ・Windows Vista
    ・Windows7
    ※Windows XP は動作環境としてサポートされていません。


    始めに、表示されたエラーメッセージについて

    「~~~は有効な Win32 アプリケーションではありません」

    このメッセージが表示されるパターンは、ざっくり2パターンあります。
    ・本当にEXEが壊れている場合
    ・開発者が意図的に実行可能OSのバージョンを指定している場合
     実行OSの最小バージョンとなります。XP(NT5.1)以上とかVista(NT6.0)以上とか。

    IE9は、後者になります。
    具体的には、バイナリエディタでiexplorer.exeを確認すると
    最小OSバージョンがVista(NT6.0)以上となっています。 [06 00 00 00]
    ※EXEファイルの形式である、PEヘッダーの情報は、こちらで詳しく解説されているので興味ある方は参照ください。
    http://codezine.jp/article/detail/403
    IMAGE_OPTIONAL_HEADER32のMajorSubsystemVersion、MinorSubsystemVersionの事です。
    http://msdn.microsoft.com/ja-jp/library/windows/desktop/ms680339(v=vs.85).aspx


    この値をWindows XPでもEXEとして認識できるように「05」へと変更してみました。


    その後 ThinAppで改造したiexplorer.exeをパッケージに入れて再Build後にWindowsXPで動作させてみました。

    結果:動作しません。
    詳細:ADVAPI32.dllで提供されている”はず”のEventWrite APIが見つからないというかミスってる!




    MSDNライブラリで、EventWrite APIを検索した結果


    http://msdn.microsoft.com/ja-jp/library/windows/desktop/aa363752(v=vs.85).aspx

    ・ADVAPI32.dllで提供される。
    ・対応する最小のクライアントOS: Windows Vista

    ということで、Windows Vistaから提供される Win32 APIをIE9は利用している事になります。

    調査結果から、他にも多数のWindows Vistaから追加されたAPIを利用している可能性があったり、
    はじめから、動作環境としてVista以降しか、考慮していないといえます。
    そのため、Windows XPなどでは、動かないようにEXE自体に最小限のOSを設定して
    「~~~は有効な Win32 アプリケーションではありません」と表示する優しさが感じられました。

    アプリ仮想化とWin32 APIとOSの関係について。

    ThinAppを持ってしても、IE9は、Windows Vista以降しか動作しませんでした。
    しかしながら、IE6は、Windows XP、Vista、7、8で動作します。
    この違いが何故なのかについて、まとめてみました。

    IE6の動作概要について



    IE9の動作概要について


    基本APIって、何?
    各OSで標準的に備えているWin32 APIと思って下さい。(私が勝手に命名しましたw)
    Windowsのアプリが動作するための、基盤は、Win32 Subsystem(Win32.k)です。


    追加APIって、何?
    OSがバージョンアップすると、追加される物です。
    今までは、やりたいことを実現するために、複数のAPIを組み合わせたりしていた
    物が、新しく便利なAPIが増えることで、簡単になったり機能が増えたりと。
    いいこと多数ですが、前方互換性が損なわれます。


    Windows7のAPIのうち、代表的な基本API+追加APIは、以前にまとめた以下の投稿を参照ください。

    • Kernel32.dll (1362個)
    • Nt.dll (1982個)
    • User32.dll (822個)
    • Advapi32.dll (805個)
    • Shell32.dll (333個)


    http://tunemicky.blogspot.jp/2012/01/win32apidllexport.html

    ThinApp 導入事例、第2弾 「アプリのライフサイクルに依存しない、"ユーザー主導のITライフサイクル"」

    $
    0
    0
    ThinApp 導入事例、第2弾 「アプリのライフサイクルに依存しない、"ユーザー主導のITライフサイクル"」

    日本国内での ThinApp 導入事例、第2弾がVMware社から公開されました。(株式会社サッポログループマネジメント 

    http://www.vmware.com/jp/company/customers/

    PDFの直リンク
    http://www.vmware.com/files/jp/pdf/apac_jp_13Q1_cs_vmw_SAPPORO_Japanese.pdf


    このThinAppの導入事例は、本当に素晴らしく、
    良い事例だと思います。
    特に新しいOS環境(Windows 7等)に移行する際には
    問題が多々あり、その悩みを乗り越えた良いケースですね。


    かれこれ、8年に渡りアプリ仮想化に関わっていますが、今までハッキリと伝えられなかった
    夢や目的がハッキリとした形で表に現れてきた気がします。

    ・このテクノロジーが産まれた背景は?
    ・アプリ仮想化に求められる事は何か?
    ・どんなメリットをもたらすのか?
    ・そもそも、なんでアプリ仮想化が必要なのか?

    一番こころに響いたのは、この内容です。

    「各アプリケーションのライフサイクルに
    依存しない、ユーザー主導のITライフサイクルの実現。
    VMware ThinAppによって、
    当初の改修見積りのわずか10分の1
    Windows7のPCへリプレイスを実現することができました。
    後ろ向きのIT投資から抜け出したいと考えていた私たちにとって、
    VMware ThinAppはまさに“魔法のようなソリューション”です

    ・ユーザー主導のITライフサイクル
     ベンダーやメーカー都合による、ライフサイクルに左右される現状から
     ITを利用するユーザー企業が主導するITライフサイクルへ。


    ・後ろ向きのIT投資
     機能追加がない、単なるバージョンアップに掛かる費用を
     後ろ向きなIT投資と呼び、投資に見合うメリットが見いだせない事。


    アプリケーションのライフサイクルは、利用者や運用する企業自身が決める物です。
    OS開発ベンダー、ハードウェアベンダーやアプリ開発ベンダーのライフサイクルに、
    必ずしも歩調を合わせる必要は無いんじゃないかと。

    ただし、保守が切れるとセキュリティのリスク等が高まるのは、避けられないので、
    いつ、どのタイミングで、新しい環境に移行していくかは、絶えず考慮しないといけません。

    今までは、OS、ハードウェア、ソフトウェアの3つセットで、一斉に同じタイミングで
    切り替える必要がありました。
    密接に絡み合っていた、密結合ですね。

    これからは、きっと、ユーザー主導で、それぞれ良いタイミングで、切り替えられるように
    なっていくと思います。
    それぞれの、結合部分に仮想化レイヤーが入り、結合度合いが緩やかになる。
    疎結合ですね。

    「ITを利用・管理する企業がアプリのライフサイクルを決定する。」
    仮想化等の技術により理想が現実になってきたのを肌で感じています。


    ThinApp 導入事例、第3弾 「新旧バージョンの連結会計システムDivaSystemを1台のPCで並行稼動」

    $
    0
    0
    ThinApp 導入事例、第3弾 「新旧バージョンの連結会計システムDivaSystemを1台のPCで並行稼動」

    日本国内での ThinApp 導入事例、第3弾がVMware社から公開されました。(双日株式会社 / 双日システムズ株式会社 

    http://www.vmware.com/jp/company/customers/

    PDFの直リンク
    http://www.vmware.com/files/jp/pdf/customers/apac_jp_13Q1_cs_vmw_sojitz_JP.pdf

    双日システムズの取り組み
    http://www.sojitz.com/jp/news/2012/20120904.html

    このThinAppの導入事例も、また素晴らしい事例だと思います。
    事例では、国際会計基準(IFRS)に対応するために、
    新旧バージョンのDivaSystemを利用する必要がありました。
    同じようなシチュエーションとしては、
    ・Microsoft Office
    ・Java Runtime
    ・Oracle Client
    などがあります。
    新旧バージョンを利用せざるを得ない環境でも
    適用できる好事例ですね。
    アプリの仮想化で複数バージョンの混在を乗り越える事が
    できる良いケースです。


    一番こころに響いたのは、この内容です。

    「1台のPC(1つのOS)で複数システムを共存させうるアプリケーション仮想化技術」

    「従来のアプローチと比較し、80%を超えるコスト削減と85%を超える作業工数の軽減


    ・1台のPC(1つのOS)
     OSをまるごと仮想化する、ソリューションとは違い
     アプリ仮想化は、OSは1つです。
     OSまるごと仮想化する技術としては、MicrosoftのXPMode
     VMware Workstation/Player等があります。

    ・従来のアプローチは、PCを2台用意する。
     仮想マシンとして、まるごと別のOSを動作させる。
    になります。

     どうしても、運用に課題がつきまとう技術でもあります。


    ますますアプリの仮想化が普及するきっかけになりそうな予感です。嬉しいです。


    IEのFeatureControlのメモ

    $
    0
    0
    IEのFeatureControlについて






    IEは、様々な機能があります。
    その機能のON・OFFを設定する際に、以下のレジストリを利用しています。
    「\Software\Microsoft\Internet Explorer\Main\FeatureControl」

    • HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl
    • HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl
    • HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl

    たくさん機能があるのでIE6を中心に調べたものをメモがてら公開しておくことにしました。
    ※全てのパラメータを網羅しているわけではありません。また、間違って解釈している設定もあるかもしれませんので、ご注意ください。

    http://www.geoffchappell.com/notes/windows/ie/featurecontrol.htm
    http://msdn.microsoft.com/en-us/library/ee330720(v=vs.85).aspx


    よく使う設定を赤字で記載してありますが、正直よくわからないパラメータもたくさんあります。



    No.
    Feature設定
    1
    FEATURE_HTTP_HEADER_NAME_LENGTH_MATCH_KB950759
    セキュリティ
    セキュリティ更新 2008/06/10
    2
    FEATURE_SCH_SEND_AUX_RECORD_KB_2618444
    セキュリティ
    セキュリティ更新 2011/12/12
    3
    FEATURE_ADDON_MANAGEMENT
    Policie
    アドオンの管理画面を操作できるかどうか。
    4
    FEATURE_BEHAVIORS
    Policie
    バイナリビヘイビアーの設定
    5
    FEATURE_DISABLE_MK_PROTOCOL
    Policie
    MKプロトコルを無効化
    6
    FEATURE_GET_URL_DOM_FILEPATH_UNENCODED
    Policie
    FilepathURLエンコードしない
    7
    FEATURE_MIME_HANDLING
    Policie
    MIMEによる判定
    8
    FEATURE_MIME_SNIFFING
    Policie
    MIMEによるスニッフィングの判定
    9
    FEATURE_PROTOCOL_LOCKDOWN
    Policie
    プロトコルの制限 local:file:shell:hcp:ftp
    10
    FEATURE_RESTRICT_ACTIVEXINSTALL
    Policie
    ActiveXのインストール制限
    11
    FEATURE_RESTRICT_FILEDOWNLOAD
    Policie
    Fileのダウンロードを制限
    12
    FEATURE_SAFE_BINDTOOBJECT
    Policie
    BindObjectに関する制限
    13
    FEATURE_SECURITYBAND
    Policie
    セキュリティ情報バーを有効化
    14
    FEATURE_UNC_SAVEDFILECHECK
    Policie
    リンクを保存する際にUNCパスをチェックするか
    15
    FEATURE_WINDOW_RESTRICTIONS
    Policie
    IEのウインドウの表示項目の制限 アドレスバー、ステータスバー
    16
    FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736
    KB
    iframeで循環参照、メモリリーク
    17
    FEATURE_AUTOPROXY_CACHE_ANAME_KB921400
    KB
    .pacファイルでProxy設定。Kerberos401エラー
    18
    FEATURE_CERT_TRUST_VERIFIED_KB936882
    KB
    SSLでアクセス違反
    19
    FEATURE_CHUNK_TIMEOUT_KB914453
    KB
    wininet.dllで不正なチャンクを受信すると停止
    20
    FEATURE_CLOSE_EMPTY_BROWSER_KB920982
    KB
    outlook2003msgファイルを開くとIE6でウインドウが開く
    21
    FEATURE_ENABLESAFESEARCHPATH_KB963027
    KB
    IE用の累積的なセキュリティ更新プログラム (963027)
    22
    FEATURE_ENSURE_FQDN_FOR_NEGOTIATE_KB899417
    KB
    SPNEGOでアクセスが拒否される。
    23
    FEATURE_FILEPROTOCOL_NOFINDFIRST_KB947853
    KB
    共有フォルダをIE6で開く事ができない
    24
    FEATURE_FIX_CHUNKED_PROXY_SCRIPT_DOWNLOAD_KB843289
    KB
    チャンクエンコードを利用したProxyPacが設定されない
    25
    FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409
    KB
    ユーザー名とPWFormで送信されない
    26
    FEATURE_INTELLIFORMS_ALTERNATE_RELEASE_KB924301
    KB
    オートコンプリートが機能しない
    27
    FEATURE_KEEP_CACHE_INDEX_OPEN_KB899342
    KB
    Svchost.exeがクラッシュする
    28
    FEATURE_OPTIONS_BACKGROUNDCOLOR_KB843516
    KB
    テキスト、背景色が設定されない
    29
    FEATURE_PERMIT_CACHE_FOR_AUTHENTICATED_FTP_KB910274
    KB
    FTPサーバーのファイルが開けない
    30
    FEATURE_SKIP_POST_RETRY_ON_INTERNETWRITEFILE_KB895954
    KB
    データをPOSTするとヘッダーのみ転送されるXMLHTTP
    31
    FEATURE_TravelLog_State_On_Codepage_Change_KB944395
    KB
    KB916281の不具合修正、無限ループ
    32
    FEATURE_USE_CNAME_FOR_SPN_KB911149
    KB
    SPN認証エラー
    33
    FEATURE_WAIT_TIME_THREAD_TERMINATE_KB886801
    KB
    IEの終了に時間が掛かる。最大1分、応答なし
    34
    FEATURE_WPAD_STORE_URL_AS_FQDN_KB903926
    KB
    PROXYサーバーのIPをキャッシュしてしまう。
    35
    FEATURE_BUFFERBREAKING_818408
    KB
    WebDAVでファイルコピーでエラー
    36
    FEATURE_TEMPORARYFILES_FOR_NOCACHE_840386
    KB
    IE6Excel2003XLSを開くことができない。
    37
    FEATURE_TEMPORARYFILES_FOR_NOCACHE_840387
    KB
    圧縮されたデータを展開できない
    38
    FEATURE_COMPLETE_PROGRESSBAR_ONFLASH_925973
    KB
    iFrameFormを送信するとプログレスバーが止まらない
    39
    FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
    KB
    ttp://username:password@server形式を無効化
    40
    FEATURE_LOCALMACHINE_LOCKDOWN
    KB
    画像が表示されない。ローカルリソースへのアクセス制限
    41
    FEATURE_OBJECT_CACHING
    KB
    ナビゲータ オブジェクトに保存された値の設定
    42
    FEATURE_VALIDATE_NAVIGATE_URL
    KB
    URLの妥当性チェック エスケープ文字を含む場合
    43
    FEATURE_WEBOC_POPUPMANAGEMENT
    KB
    ポップアップブロックの設定
    44
    FEATURE_ZONE_ELEVATION
    KB
    ゾーンの昇格を許可
    45
    RETRY_HEADERONLYPOST_ONCONNECTIONRESET
    KB
    KB832894(MS04-004)Err500が発生
    46
    FEATURE_CSS_DATA_RESPECTS_XSS_ZONE_SETTING_KB912120
    -
    IE7BetaVS2005BuildStyleBuilderの問題を回避?
    47
    FEATURE_RESPECT_OBJECTSAFETY_POLICY_KB905547
    -
    URLMonの内部的なパラメータ?
     
    48
    FEATURE_USE_SPN_FOR_DIGEST_AUTH_DISABLED
    -
    SPNのダイジェスト認証関連?
     
    49
    FEATURE_USE_SPN_FOR_NTLM_AUTH_DISABLED
    -
    SPNNTLM認証関連?
     
    50
    FEATURE_VALIDATE_URLHOSTNAME
    -
    URLHOST名妥当性チェック?
     

    Windows 8 のTips

    $
    0
    0

    Windows 8 のTips

    Windows 8を利用すると、ちょっとした所で
    煩わしさを感じる事があります。

    OS自体は、かなり軽快に動作するので、個人的には、とても気に入っているのですが。。。

    私がWindows 8を利用する際に真っ先に変更する項目を
    メモがてらここに書いておきます。


    ・ログイン後に日本語入力がONになる
    ・ロック画面をOFFにする
    ・窓枠を細くする。(WinXP時代の幅にする)


    【ログイン後に日本語入力がONになる】


    コントロールパネルを起動します。
    1.「時計、言語、および地域」から「入力方法の変更」をクリックします。
    2.「言語」画面の左にある「詳細設定」をクリックします。
    3.「詳細設定」画面から「入力方式の切り替え」 「アプリ ウインドウごとに異なる入力方式を設定する」にチェックを入れます。


    ※補足:Windows8からは、日本語入力がプロセスとして分離しました。
     そのためアプリが変わっても
     日本語入力の状態がそのまま、OS全体として引き継がれるようになりました。
     Windows7までは、日本語入力の状態は、アプリ毎に(スレッドとして)管理されていました。
     この設定は、Windows7の頃のようにアプリ単位で管理するように変更する設定です。

    ロック画面をOFFにする
    ログインする前にロック画面が表示され、クリックするか、タッチするか、キーボードで何かしらのキーを押すと、ログイン画面が表示されます。

    「ロック画面」

    私の場合は、1クリック余計なので、このロック画面をスキップさせています。
    「ログイン画面」

    グループポリシーエディタ(gpedit.msc)を起動します。
    「コンピュータの構成」-「管理用テンプレート」-「コントロール パネル」-「個人設定」
    「ロック画面を表示しない」を「有効」にします。

    ※レジストリを直接編集する場合は、以下のようにします。
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization
    NoLockScreen (REG_DWORD) = 1



    窓枠を細くする。(WinXP時代の幅にする)
    Windows Vista, 7, 8 では、Windowの枠の幅がWindows XPに比べると
    太くなりました。




    アプリによっては、枠が太くなったため画面レイアウトが
    見切れる事があります。

    Windows 7までは、画面の設定から、「ウインドウの境界の間隔」の調整が可能でした。
    サイズ 4 を 0 にすると、Windows XPと同じ幅になります。

    Windows 8 では、「ウインドウの色とデザイン」設定がGUIからは、できないため
    直接レジストリを変更して対応します。

    レジストリエディタを起動します。
    HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetricsを開きます。
    PaddedBorderWidth を 0 に変更します。 (既定値 -60)
    ログアウトし再度ログインします。


    参考:
    ・ログイン後に日本語入力がONになる問題

    ・ロック画面をOFFにする

    ・窓枠を細くする。WinXP時代の幅にする






    レジストリエディタ(regedit.exe)を複数起動する方法

    $
    0
    0

    レジストリエディタ ( regedit.exe ) を複数起動する方法

    仕事柄レジストリエディタ regedit.exe を起動することが多いのですが、複数同時に起動したいことが多々あります。

    同じようなキーをHKEY_LOCAL_MACHINE / HKEY_CURRENT_USERから比較したり
    仮想アプリ側から見た場合のレジストリと物理側のレジストリを比較したり
    64Bit OSの場合の64Bit版のレジストリと32Bit版のレジストリを比較する場合に
    これまでは、1つの regedit のツリーを行ったり来たりし、かなり煩わく感じていました。

    そんな悩みは、この起動オプション一発で解決できます。



    regedit.exe -m




    対応するOSは、Windows XP, Windows Vista ,Windows 7 ,Windows 8
    Windows Server 2003 , Windows Server 2008 ,Windows Server 2008R2 , Windows Server 2012です。

    実は、Windows2000までは、REGEDT32.exeとREGEDIT.exeの2つが用意されていました。

    REGEDT32.exeは、MDI型のレジストリエディタで複数のハイブを同時に表示できる優れものでした。
    WindowsXPからREGEDT32.exeは、ファイルこそ残っていますが、実際には
    REGEDIT.exeが起動されMDI型の物は、なくなっています。
    そのため、-mの起動パラメータを付けて起動することで、複数のインスタンスを起動できるように
    なっているんですね。


    ThinAppで仮想側のレジストリを参照するために、vRegedit.exeのエントリーポイントを作成する事を推奨していますが、複数起動できるようにするには、Package.iniを以下のようにすればOKです。
    ※CommandLineを追加する


    [vRegedit.exe]
    Source=%SystemRoot%\regedit.exe
    CommandLine=%SystemRoot%\regedit.exe -m
    Shortcut=xxxx.dat
    Disabled=0



    余談:私も2ヶ月くらい前まで-mのオプションの存在を知りませんでした。教えてくれたMSDさんありがとう。


    参考:
    http://kmassue.blogspot.jp/2013/02/blog-post.html

    http://blogs.msdn.com/b/tsmatsuz/archive/2009/04/17/64-bit-wow-32bit-system-file-registry.aspx
    http://support.microsoft.com/kb/141377/ja

    Office2000を仮想アプリ化する場合のTips

    $
    0
    0
    Office2000を仮想アプリ化する場合のTips

    Office2000を仮想化し、Windows7環境で動作させる場合の
    Tipsについて。


    1. 起動時にエラー「エラーが発生しました。この機能は正しく動作しません。修復しますか?」
    2. Office アシスタントを利用時にエラー「Office アシスタントの開始に問題があります。再インストールしますか?」
    3. 初回起動時に「Microsoft Office 2000 SR-1 Premium を Microsoft にオフィシャル ユーザー登録しますか?」
    4. Excel2000のオートコンプリートでクラッシュする


    1.起動時にエラー「エラーが発生しました。この機能は正しく動作しません。修復しますか?」が
    表示されてしまう。


    このエラーは、OSのIME関連のアーキテクチャが変更された事に由来しています。
    WindowsXPとWindows7では、IMEのモジュールに変更がありました。

    対処方法:プロジェクトフォルダにある、%systemsystem%フォルダにWindowsXPのSystem32フォルダにある、以下の2つのDLLをコピーしてからBuild.batを実行します。
    ・ IMEShare.dll
    ・ Msrclr40.dll
    詳しくは、以前投稿した
    「Windows7 のアプリ互換問題について( IME 問題 )」を参照ください。



    2.Office アシスタントを利用時にエラー「Office アシスタントの開始に問題があります。再インストールしますか?」

    いろいろ調べたのですが、Windows7では、Officeアシスタントを正常に動作させることが
    できませんでした。。。
    という訳で、あまり使う機能では無いので、そもそもOffice2000のインストール時に
    Officeアシスタントをインストールしないことでエラーを未然に防ぐことにしています。
    イルカのカイル君ごめんね。

    ※イルカのカイル君をWindows7で動かす方法がわかりました。

    イルカ の カイル を救え (Microsoft エージェントがWindows7で動作しない)

    http://tunemicky.blogspot.jp/2013/06/microsoft-windows7.html


    3.Office2000を仮想化して、初めて実行すると「オフィシャル ユーザー登録」画面が表示される場合があります。


    原因は、Office2000の不具合です。
    以下のKB818798に、詳細が載っています。
    http://support.microsoft.com/kb/818798/ja
    「2003 年 4 月 15 日以降、Office 2000 プログラムにより登録を求めるメッセージが表示される」

    対処方法は、リンク先にあるパッチをダウンロードして、Office2000のインストール後に
    パッチのインストールを行ってからPostscanを行います。

    私は、KB818798a.exeを入れることが多いです。
    環境やOffice2000のバージョンやSPに合わせて最適な物をダウンロードしてください。
    パッチを適用すると、MSO9.dllのバージョンが「9.0.0.7616」になります。
    私の環境では、MSO9.dllのバージョンが「9.0.3821」から「9.0.0.7616」へと更新されました。

    4.Excel2000のオートコンプリートでクラッシュする



    全角文字を入力中にオートコンプリートを利用して文字列を補完した場合にExcel2000が
    クラッシュすることがあります。

    Excel2000のオートコンプリートを無効にする事で対処可能です。
    「ツール」-「オプション」-「編集」-「オートコンプリートを使用する(C)」をOFF

    この設定は、レジストリにあるので、直接編集してもOKです。
    HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options
    Options95
    DWORDで0を設定

    仮想レジストリの初期値を変更する場合は、HKEY_CURRENT_USER.txtに以下の形式で
    設定を行います。
    isolation_writecopy HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options
      Value=Options95
      REG_DWORD=#00#00#00#00



    詳細な原因は、IMEの動作モードがWindows7では、TSFになった事で問題が発生しています。

    対処方法は、IMM32モードを持った日本語入力システムを利用することでも可能です。
    この場合は、オートコンプリートも正常に動作します。
    IME2010を利用し、「詳細なテキストサービスを使用しない」で正常に動作します。

    詳しくは、以前投稿した
    「Windows7 のアプリ互換問題について( IME 問題 )」を参照ください。

    VMware vEXPERT 2013受賞しました

    $
    0
    0
    VMware vEXPERT 2013 受賞しました。


    おかげ様で昨年に引き続き、今年もVMware社よりvEXPERT 2013 アワードを頂きました。
    本当に嬉しいです。
    (世界で578名、その中で日本からは24名が選ばれました。)

    アプリケーション仮想化のEvangelistとして
    今まで以上に頑張りたいと思います。



    早いもので、去年の受賞から、1年経ちました。
    継続できて本当に嬉しいです。

    WindowsXPのサポート期限が来年の4月に迫る中で、Windows7/8の新しい環境で
    動かないアプリの問題が顕著に現れています。
    そのため、アプリ仮想化への期待が高まり、実績も充実しているので
    本当に忙しくなってきました。Blogの更新が遅れがちですが。。。


    ご協力頂いた方々、お客様、このBlogを読んでいただいている方々
    本当にありがとうございました。

    ・vEXPERT 2013


    ・VMware vEXPERT公式サイト
    http://www.vmware.com/jp/communities/all_communities/vexpert/




    イルカ の カイル を救え (Microsoft エージェントがWindows7で動作しない)

    $
    0
    0
    イルカ の カイル を救え (Microsoft エージェントがWindows7で動作しない)

    Office 2000 / XP /2003をWindowsXP環境でキャプチャして仮想化した場合に、Officeアシスタントが正常に動作しません。
    以前に投稿した「Office2000を仮想アプリ化する場合のTips」で触れた内容ですが
    "諦めない"が心情の私としては、どうにか Officeアシスタントのイルカのカイル君を
    Windows7のデスクトップで泳がせてあげたい。
    ということで、色々と試してみましたww

    簡単に動くかとおもいきや、結構大変だったので、その備忘録も兼ねて今回投稿したいと思います。

    ある意味、虚構新聞のネタを実践したのでしたww
    「次期ウィンドウズ、名物ガイド「イルカ」が復活 これは嘘ニュースです
    Windows8で泳ぐカイル。
    動かない理由:
    Windows7の場合は、MSAgentがOSにインストールされていないため、動作しません。
    Windows XPには、Microsoft エージェント(Office アシスタント)を動作させるための基盤となるコンポーネントがインストールされています。
    「C:\Windows\MSAgent」
    そのため、クリーンなWindowsXP環境でOfficeのインストールをキャプチャしても、Officeアシスタントを実行するための基盤となるMSAgentが仮想アプリパッケージに取り込まれません。
    仮想化したOfficeをWindowsXP環境で動作させた場合は、WindowsXPにMSAgentがインストールされているので、問題なく動作しますが、
    Windows7の場合は、MSAgentがインストールされていないため、動作しない結果となります。

    解決方法:
    理由がわかれば、後は、いかにMSAgentを仮想アプリパッケージに取り込むか?を解決すれば
    動くようになります。

    最も簡単な方法は、Windows7のクリーンな環境でOffice2000をキャプチャすることです。
    しかしながら、単純にWindows7環境でキャプチャしても、イルカのカイル君がちょっとおかしなことになります。
    ※ピンクの背景色が透過されません。
    実は、この件に関しては、MSからKBとして情報とパッチが提供されています。
    「Microsoft エージェント対応のプログラムが Windows 7 で動作しない」

    このパッチも含めキャプチャすることで、正常に動作します。

    余談:
    せっかくWindowsXP環境で仮想化したOffice2000がある場合に、わざわざWindows7環境でキャプチャし直すのは、大変ですよね。
    と言う事で、力技でMSAgentを既存のOffice2000パッケージに追加する方法をざっくりと
    記載しておきます。

    材料:
    WindowsXP環境でキャプチャしたOffice2000 (Office アシスタントのインストールを行なっている物)
    KB969168のパッチ

    手順:
    1.Windows7クリーン環境で、KB969168のインストールをキャプチャします。
    2.作成されたプロジェクトフォルダの以下のファイルを抽出します。
    %SystemRoot%\MSAgentフォルダを丸ごとコピーして既存のOffice2000のプロジェクトフォルダにコピーします。
    ----ファイルとフォルダの一覧--------------------
    %SystemRoot%\
             MSAgent
            │  ##Attributes.ini
            │  AgentAnm.dll
            │  AgentCtl.dll
            │  AgentDp2.dll
            │  AgentDpv.dll
            │  AgentPsh.dll
            │  AgentSR.dll
            │  AgentSvr.exe
            │  AgtCtl15.tlb
            │  AgtUI.dll
            │  Mslwvtts.dll
            │
            ├─chars
            │      ##Attributes.ini
            │      merlin.acs
            │    
            └─ja-JP
                    ##Attributes.ini
                    AgtUI.dll.mui

     3.HKEY_LOCAL_MACHINE.txtの内容をコピーして既存のOffice2000のHKEY_LOCAL_MACHINE.txtに貼り付けます。
    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\.aca
    Value=
    REG_SZ~Agent.Character.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\.acf
    Value=
    REG_SZ~Agent.Character.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\.acs
    Value=
    REG_SZ~Agent.Character2.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\.lwv
    Value=
    REG_SZ~lwvfile#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character.2
    Value=
    REG_SZ~Microsoft Agent Character File (HTTP format)#2300
    Value=FriendlyTypeName
    REG_EXPAND_SZ~@#2325SystemRoot#2325\MSAgent\agtui.dll,-303#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character.2\CLSID
    Value=
    REG_SZ~{D45FD300-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character.2\DefaultIcon
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentdpv.dll,-201#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character.2\shellex

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character.2\shellex\PropertySheetHandlers

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character.2\shellex\PropertySheetHandlers\CharacterPage
    Value=
    REG_SZ~{143A62C8-C33B-11D1-84FE-00C04FA34A14}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character2.2
    Value=
    REG_SZ~Microsoft Agent Character File#2300
    Value=FriendlyTypeName
    REG_EXPAND_SZ~@#2325SystemRoot#2325\MSAgent\agtui.dll,-304#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character2.2\CLSID
    Value=
    REG_SZ~{D45FD301-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character2.2\DefaultIcon
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentdp2.dll,-201#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character2.2\shellex

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character2.2\shellex\PropertySheetHandlers

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Character2.2\shellex\PropertySheetHandlers\CharacterPage
    Value=
    REG_SZ~{143A62C8-C33B-11D1-84FE-00C04FA34A14}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Control
    Value=
    REG_SZ~Microsoft Agent Control 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Control\CurVer
    Value=
    REG_SZ~Agent.Control.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Control.1
    Value=
    REG_SZ~Microsoft Agent Control 1.5#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Control.1\CLSID
    Value=
    REG_SZ~{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Control.2
    Value=
    REG_SZ~Microsoft Agent Control 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Control.2\CLSID
    Value=
    REG_SZ~{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Server
    Value=
    REG_SZ~Microsoft Agent Server 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Server\CurVer
    Value=
    REG_SZ~Agent.Server.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Server.2
    Value=
    REG_SZ~Microsoft Agent Server 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Agent.Server.2\CLSID
    Value=
    REG_SZ~{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{0FA9F4D5-A173-11D1-AA62-00C04FA34D72}
    Value=
    REG_SZ~Microsoft Agent Voice Command Module Class#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{0FA9F4D5-A173-11D1-AA62-00C04FA34D72}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentsr.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{143A62C8-C33B-11D1-84FE-00C04FA34A14}
    Value=
    REG_SZ~Microsoft Agent Character Property Sheet Handler#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{143A62C8-C33B-11D1-84FE-00C04FA34A14}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentpsh.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{95A893C3-543A-11D0-AC45-00C04FD97575}
    Value=
    REG_SZ~MSLwvTTS Engine Class#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{95A893C3-543A-11D0-AC45-00C04FD97575}\InprocServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\msagent\mslwvtts.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{95A893C3-543A-11D0-AC45-00C04FD97575}\TreatAs
    Value=
    REG_SZ~{D45FD31C-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{A7B93C92-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~Microsoft Agent Server 1.5#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{A7B93C92-7B81-11D0-AC5F-00C04FD97575}\TreatAs
    Value=
    REG_SZ~{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{BB64DF2F-88E4-11D0-9E87-00C04FD7081F}
    Value=
    REG_SZ~Microsoft Agent DocFile Provider 1.5#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{BB64DF2F-88E4-11D0-9E87-00C04FD7081F}\TreatAs
    Value=
    REG_SZ~{D45FD2FF-5C6E-11D1-9EC1-00C04FD7081F}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~Microsoft Agent Server 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}\LocalServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentsvr.exe#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}\ProgID
    Value=
    REG_SZ~Agent.Server.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}\Programmable

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FC-5C6E-11D1-9EC1-00C04FD7081F}\VersionIndependentProgID
    Value=
    REG_SZ~Agent.Server#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FF-5C6E-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~Microsoft Agent DocFile Provider 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD2FF-5C6E-11D1-9EC1-00C04FD7081F}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentdpv.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD300-5C6E-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~Microsoft Agent File Provider 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD300-5C6E-11D1-9EC1-00C04FD7081F}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentdpv.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD301-5C6E-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~Microsoft Agent Flat File Provider 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD301-5C6E-11D1-9EC1-00C04FD7081F}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentdp2.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~Microsoft Agent Control 2.0#2300
    Value=LocalizedString
    REG_EXPAND_SZ~@#2325SystemRoot#2325\MSAgent\agtui.dll,-302#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\Control

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentctl.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\MiscStatus
    Value=
    REG_SZ~0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\MiscStatus\1
    Value=
    REG_SZ~148628#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\ProgID
    Value=
    REG_SZ~Agent.Control.2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\Programmable

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\ToolboxBitmap32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentctl.dll, 105#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\Version
    Value=
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31B-5C6E-11D1-9EC1-00C04FD7081F}\VersionIndependentProgID
    Value=
    REG_SZ~Agent.Control#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31C-5C6E-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~MSLwvTTS 2.0 Engine Class#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{D45FD31C-5C6E-11D1-9EC1-00C04FD7081F}\InprocServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\msagent\mslwvtts.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~Microsoft Agent Control 1.5#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\InProcServer32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentctl.dll#2300
    Value=ThreadingModel
    REG_SZ~Apartment#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\MiscStatus
    Value=
    REG_SZ~0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\MiscStatus\1
    Value=
    REG_SZ~148628#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\ProgID
    Value=
    REG_SZ~Agent.Control.1#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\Programmable

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\ToolboxBitmap32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentctl.dll, 105#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\Version
    Value=
    REG_SZ~1.5#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5}\VersionIndependentProgID
    Value=
    REG_SZ~Agent.Control#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\FileType

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\FileType\{D45FD300-5C6E-11D1-9EC1-00C04FD7081F}

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\FileType\{D45FD300-5C6E-11D1-9EC1-00C04FD7081F}\0
    Value=
    REG_SZ~0,4,FFFFFFFF,C4ABCDAB#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\FileType\{D45FD300-5C6E-11D1-9EC1-00C04FD7081F}\1
    Value=
    REG_SZ~0,4,FFFFFFFF,C2ABCDAB#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\FileType\{D45FD301-5C6E-11D1-9EC1-00C04FD7081F}

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\FileType\{D45FD301-5C6E-11D1-9EC1-00C04FD7081F}\0
    Value=
    REG_SZ~0,4,FFFFFFFF,C3ABCDAB#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{00D18159-8466-11D0-AC63-00C04FD97575}

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{00D18159-8466-11D0-AC63-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{00D18159-8466-11D0-AC63-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{00D18159-8466-11D0-AC63-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{08C75162-3C9C-11d1-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentNotifySinkEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{08C75162-3C9C-11d1-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{08C75162-3C9C-11d1-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{08C75162-3C9C-11d1-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{1DAB85C3-803A-11D0-AC63-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlRequest#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{1DAB85C3-803A-11D0-AC63-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{1DAB85C3-803A-11D0-AC63-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{1DAB85C3-803A-11D0-AC63-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{48D12BA0-5B77-11D1-9EC1-00C04FD7081F}
    Value=
    REG_SZ~IAgentEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{48D12BA0-5B77-11D1-9EC1-00C04FD7081F}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{48D12BA0-5B77-11D1-9EC1-00C04FD7081F}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{48D12BA0-5B77-11D1-9EC1-00C04FD7081F}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C00-3910-11D1-ACB3-00C04FD97575}
    Value=
    REG_SZ~IAgentCommandsEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C00-3910-11D1-ACB3-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C00-3910-11D1-ACB3-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C00-3910-11D1-ACB3-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C01-3910-11D1-ACB3-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlCommandsEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C01-3910-11D1-ACB3-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C01-3910-11D1-ACB3-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6BA90C01-3910-11D1-ACB3-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB23-9968-11D0-AC6E-00C04FD97575}
    Value=
    REG_SZ~IAgentCommandWindow#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB23-9968-11D0-AC6E-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB23-9968-11D0-AC6E-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB23-9968-11D0-AC6E-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB27-9968-11D0-AC6E-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlCommandsWindow#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB27-9968-11D0-AC6E-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB27-9968-11D0-AC6E-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{6D0ECB27-9968-11D0-AC6E-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{822DB1C0-8879-11D1-9EC6-00C04FD7081F}
    Value=
    REG_SZ~IAgentCtlBalloonEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{822DB1C0-8879-11D1-9EC6-00C04FD7081F}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{822DB1C0-8879-11D1-9EC6-00C04FD7081F}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{822DB1C0-8879-11D1-9EC6-00C04FD7081F}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8563FF20-8ECC-11D1-B9B4-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8563FF20-8ECC-11D1-B9B4-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8563FF20-8ECC-11D1-B9B4-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8563FF20-8ECC-11D1-B9B4-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8B77181C-D3EF-11D1-8500-00C04FA34A14}
    Value=
    REG_SZ~IAgentCtlAnimationNames#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8B77181C-D3EF-11D1-8500-00C04FA34A14}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8B77181C-D3EF-11D1-8500-00C04FA34A14}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{8B77181C-D3EF-11D1-8500-00C04FA34A14}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{98BBE491-2EED-11D1-ACAC-00C04FD97575}
    Value=
    REG_SZ~IAgentCharacterEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{98BBE491-2EED-11D1-ACAC-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{98BBE491-2EED-11D1-ACAC-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{98BBE491-2EED-11D1-ACAC-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C80-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentUserInput#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C80-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C80-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C80-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C83-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentCommand#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C83-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C83-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C83-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C85-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentCommands#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C85-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C85-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C85-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C87-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentSpeechInputProperties#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C87-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C87-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C87-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C89-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentAudioOutputProperties#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C89-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C89-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C89-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8B-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentPropertySheet#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8B-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8B-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8B-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8D-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentBalloon#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8D-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8D-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8D-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8F-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentCharacter#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8F-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8F-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C8F-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C91-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgent#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C91-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C91-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93C91-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93CA0-7B81-11D0-AC5F-00C04FD97575}
    Value=
    REG_SZ~IAgentAudioOutputPropertiesEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93CA0-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93CA0-7B81-11D0-AC5F-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{A7B93CA0-7B81-11D0-AC5F-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913410-3B44-11D1-ACBA-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlCommandEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913410-3B44-11D1-ACBA-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913410-3B44-11D1-ACBA-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913410-3B44-11D1-ACBA-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913412-3B44-11D1-ACBA-00C04FD97575}
    Value=
    REG_SZ~IAgentCommandEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913412-3B44-11D1-ACBA-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913412-3B44-11D1-ACBA-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{B0913412-3B44-11D1-ACBA-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{C4ABF875-8100-11D0-AC63-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlUserInput#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{C4ABF875-8100-11D0-AC63-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{C4ABF875-8100-11D0-AC63-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{C4ABF875-8100-11D0-AC63-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D6589121-FC70-11D0-AC94-00C04FD97575}
    Value=
    REG_SZ~IAgentExt#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D6589121-FC70-11D0-AC94-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D6589121-FC70-11D0-AC94-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D6589121-FC70-11D0-AC94-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{D6589123-FC70-11D0-AC94-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D7A6D440-8872-11D1-9EC6-00C04FD7081F}
    Value=
    REG_SZ~IAgentBalloonEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D7A6D440-8872-11D1-9EC6-00C04FD7081F}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D7A6D440-8872-11D1-9EC6-00C04FD7081F}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{D7A6D440-8872-11D1-9EC6-00C04FD7081F}\TypeLib
    Value=
    REG_SZ~{A7B93C73-7B81-11D0-AC5F-00C04FD97575}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{DE8EF600-2F82-11D1-ACAC-00C04FD97575}
    Value=
    REG_SZ~IAgentCtlCharacterEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{DE8EF600-2F82-11D1-ACAC-00C04FD97575}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{DE8EF600-2F82-11D1-ACAC-00C04FD97575}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{DE8EF600-2F82-11D1-ACAC-00C04FD97575}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD1-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtl#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD1-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD1-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD1-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD3-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlBalloon#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD3-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD3-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD3-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD4-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~_AgentEvents#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD4-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD4-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD4-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD9-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlCharacter#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD9-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD9-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BD9-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDB-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlAudioObject#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDB-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDB-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDB-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDD-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlSpeechInput#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDD-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDD-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDD-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDF-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlPropertySheet#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDF-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDF-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BDF-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE1-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlCommands#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE1-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE1-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE1-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE3-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlCommand#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE3-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE3-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE3-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE8-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlCharacters#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE8-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE8-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BE8-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BF0-7DE6-11D0-91FE-00C04FD701A5}
    Value=
    REG_SZ~IAgentCtlAudioObjectEx#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BF0-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BF0-7DE6-11D0-91FE-00C04FD701A5}\ProxyStubClsid32
    Value=
    REG_SZ~{00020424-0000-0000-C000-000000000046}#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\Interface\{F5BE8BF0-7DE6-11D0-91FE-00C04FD701A5}\TypeLib
    Value=
    REG_SZ~{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}#2300
    Value=Version
    REG_SZ~2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\LWVFile
    Value=
    REG_SZ~Microsoft Linguistically Enhanced Sound File#2300
    Value=FriendlyTypeName
    REG_EXPAND_SZ~@#2325SystemRoot#2325\MSAgent\agtui.dll,-305#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\LWVFile\DefaultIcon
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\msagent\mslwvtts.dll,-133#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{A7B93C73-7B81-11D0-AC5F-00C04FD97575}

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{A7B93C73-7B81-11D0-AC5F-00C04FD97575}\2.0
    Value=
    REG_SZ~Microsoft Agent Server 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{A7B93C73-7B81-11D0-AC5F-00C04FD97575}\2.0\0

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{A7B93C73-7B81-11D0-AC5F-00C04FD97575}\2.0\0\win32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentsvr.exe#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{A7B93C73-7B81-11D0-AC5F-00C04FD97575}\2.0\FLAGS
    Value=
    REG_SZ~0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{D6589123-FC70-11D0-AC94-00C04FD97575}

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{D6589123-FC70-11D0-AC94-00C04FD97575}\2.0
    Value=
    REG_SZ~Microsoft Agent Server Extensions 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{D6589123-FC70-11D0-AC94-00C04FD97575}\2.0\0

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{D6589123-FC70-11D0-AC94-00C04FD97575}\2.0\0\win32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentsvr.exe\2#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{D6589123-FC70-11D0-AC94-00C04FD97575}\2.0\FLAGS
    Value=
    REG_SZ~0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\1.5
    Value=
    REG_SZ~Microsoft Agent Control 1.5#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\1.5\0

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\1.5\0\win32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\AgtCtl15.tlb#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\1.5\FLAGS
    Value=
    REG_SZ~4#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\2.0
    Value=
    REG_SZ~Microsoft Agent Control 2.0#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\2.0\0

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\2.0\0\win32
    Value=
    REG_EXPAND_SZ~#2325SystemRoot#2325\MSAgent\agentctl.dll#2300

    isolation_full HKEY_LOCAL_MACHINE\Software\Classes\TypeLib\{F5BE8BC2-7DE6-11D0-91FE-00C04FD701A5}\2.0\FLAGS
    Value=
    REG_SZ~0#2300

    以上でイルカのカイル君がWindows7で動作するようになります。
    結構たいへんですが、かわいいから良いかな~。




    Microsoft MVP 2013 (7月期) を受賞しました

    $
    0
    0
    Microsoft MVP 2013 (7月期) を受賞しました。



    おかげ様でMicrosoft MVP 2013 アワードを頂きました。
    ありがとうございます。
    まさか、3回も受賞できるなんて思ってもいませんでした。
    本当に光栄です。

    カテゴリーは、引き続きApp-Vです。
    App-VのMVPは世界で14名、その中で日本からは1名)

    このBlogを読んでいただいている方々にも感謝感謝です。ありがとうございます。


    大好きな、仮想アプリケーションの分野の
    App-VでMVPを頂き
    ThinAppでvExpertを頂き
    本当に嬉しいです。仮想アプリケーションをもっともっと普及させるために
    出し惜しみしないで、どんどん情報を発信していけたらいいな。と強く思っています。

    これからも、よろしくお願いします。



    Officeを仮想化した場合に「既定のメールクライアントが設定されていないか~」エラーが発生する

    $
    0
    0
    Officeを仮想化した場合に「既定のメールクライアントが設定されていないか~」エラーが発生する

    Microsoft Officeを仮想化して、Windows7で実行した場合に
    エラーが発生することがあります。
    (VMware ThinAppに限らず、Microsoft App-Vでも発生する事があります)

    「既定のメールクライアントが設定されていないか、現在のメールクライアントがメールを受け取れない状態にあります。Microsoft Office Outlook を起動して、既定のメールクライアントに指定してください。」

    原因:
    既定のメールクライアントが正しく設定されていないためですが、
    仮想化されたOfficeを利用する場合だけ問題が発生する事があります。

    物理側でメールクライアントが設定されているにも係わらず、発生する場合は、
    既定のメールクライアントの設定値が格納されている仮想レジストリが不正な状態に
    なっている事が原因です。


    切り分け方法:
    仮想レジストリを参照するために、vRegEdit.exe(※1)を起動します。

    以下を開きます。
    「HKEY_LOCAL_MACHINE\Software\Clients\Mail」

    物理側のRegEdit.exeを起動します。
    regedit.exe -mで複数のレジストリエディタが起動できます。
    http://tunemicky.blogspot.jp/2013/03/regeditexe.html



    仮想レジストリと物理側のレジストリを比較します。

    仮想レジストリ側の[PreFirstRun]を削除します。
    「HKEY_LOCAL_MACHINE\Software\Clients\Mail\Microsoft Outlook」
    を削除します。

    その後、問題が変化するかを確認します。

    エラーメッセージが以下のように変化した場合
    「要求されたアクションを実行するように関連付けられた電子メール プログラムがありません。電子メール プログラムをインストールするか、または既にインストールされている場合は、コントロール パネルの [既定のプログラム] で関連付けを作成してください。」


    既定のメールが物理側で正しく設定されているかを始めに確認します。
    問題なくメーラーが設定されている場合は、引き続き以下の対処を行います。

    対処方法:
    この問題は、物理側のレジストリ設定と仮想側のレジストリ設定が不一致になっていて
    しかも、仮想レジストリの初期値に中途半端な状態の「既定のメール設定」が
    入っていることが原因です。
    対処方法としては、物理側に正しく設定されているレジストリを仮想アプリ側で
    透過させる必要があります。
    ※仮想側のレジストリ設定を削除すると、物理側の設定が透過されます。

    HKEY_LOCAL_MACHINE.txtを開きます。
    「HKEY_LOCAL_MACHINE\Software\Clients\Mail」を検索します。

    Hitしたら、該当するパスを全て削除します。
    例)
    isolation_full HKEY_LOCAL_MACHINE\Software\Clients\Mail
      Value=
      REG_SZ~Microsoft Outlook#2300
      ---省略---

    isolation_full HKEY_LOCAL_MACHINE\Software\Clients\Mail\Microsoft Outlook
      Value=
      REG_SZ~Microsoft Office Outlook#2300
      ---省略---

    HKEY_LOCAL_MACHINE.txtの編集が終わったら保存し
    Build.batを実行します。
    vRegEdit.exeを起動し、物理側のレジストリ設定と一致していればOKです。

    ※必ずSanboxを初期化(削除orリネーム)してから、検証してください。


    ※1 vRegEdit.exeの作り方
    エントリーポイントとしてvRegedit.exeを作成します。
    Package.iniファイルを編集します。

    例)Package.iniファイルの一番下の方にRegedit.exeのエントリーポイントの設定箇所があります。
    [vRegedit.exe]
    Source=%SystemRoot%\regedit.exe
    Shortcut=Office2003.dat
    Disabled=0

    編集後にbuild.batを実行します。
    vRegedit.exeがbinフォルダに作成されます。

    ThinAppで仮想化したアプリのIME問題について(重要)

    $
    0
    0
    ThinAppで仮想化したアプリのIME問題について(重要)

    ThinAppで仮想化したアプリケーションを利用していると
    IMEの変換や単語登録した物が変換候補に表示されない問題が発生することが多々あります。

    日本でThinAppを利用する場合は、必須のTipsなので必ず対処した方が良いと思い
    公開する事にしました。


    症状は色々とありますが、代表的なケースは、
    「IMEの変換候補に辞書登録した物が表示されない」
    になります。

    結論としては、IMEのユーザー辞書ファイル(IMJPxx.dic)がSanboxに迂回されるために
    物理側にあるユーザー辞書ファイルとのやり取りで問題が発生するためです。
    対処方法は、IMEのユーザー辞書ファイルの格納されているフォルダの
    DirectoryIsolationModeをMergedにすることで対処可能です。

    具体的な対処方法は、プロジェクトフォルダの%AppData%に
    Microsoft\IMJP10フォルダを作成し
    ##Attributes.iniファイルのDirectoryIsolationModeをMergedに設定した後に
    再Buildを行います。




    具体的な動作については、こんな感じです。

    テスト環境:
     実行環境:
      OS:Windows7 SP1 x86
      IME:IME10 Windows7標準

     キャプチャ環境:
      OS:Windows XP SP3 x86
      IME:IME8_1 WindowsXP標準

     仮想化したアプリ:
      SimpleBrowser(MBCS).exe
       Sandbox名:SimpleBrowser(MBCS)
      Sandbox作成先:既定値 %AppData%\Thinstall

    事前準備:
     Windows7で単語登録を行ないます。

     読み:あぷり
     語句:アプリ仮想化

     メモ帳で単語が変換候補に表示されるかの確認
     問題なく表示されています。

    問題になる動作の確認:
     Windows7で仮想化したSimpleBrowserを起動し単語が変換候補に表示されるか
    確認します。



    変換候補に単語登録した「アプリ仮想化」がありません。

    IME辞書ツールを起動しても、登録したはずの単語がありません。
    また、辞書ファイルのパスが表示されていな不正な状態になっています。
    ※辞書ファイルのパスが表示されていないため、登録した単語も変換候補に表示されません。

    無理やり登録しようとすると、こんな感じでエラーが発生します。
    「単語登録に失敗しました。」
    重要なポイント
    SandboxにIMEのユーザー辞書ファイルの格納先フォルダが分離されてしまっているからです。
    <%Appdata%\Microsoft\IMJP10>

    対処方法:
    プロジェクトフォルダの%AppData%のIsolationModeを変更します。

    変更前の状態



    対処後の状態
    %AppData%にMicrosoft\IMJP10フォルダを作成し
    IMJP10フォルダに、##Attributes.iniファイルをMergedで設定する。
    完了したら再Buildを行います。

    Fix確認
    再Buildを行った仮想アプリをWindows7で確認します。

    ※重要:
      動作確認を行う前に、Sanboxを削除(リネーム)してから確認してください。
     すでにSanboxに分離してしまったフォルダは、パッケージ側で属性を変更しても
     反映されません。WriteCopyで分離済みのフォルダをパッケージ側でMergedにしても
     Sandboxの属性が優先されます。
      FULL > WriteCopy > Mergedの優先度があるのとSadboxとパッケージの優先度も加味する必要があります。

    以上

    余談:
    今回は、IME10に特化した方法を掲載しましたが
    IMEには、色々なバージョンがあるので、利用するバージョンに合わせて
    対処してください。

    IMJP8_1
    IMJP9_0
    IMJP10
    IMJP11
    IMJP12
    IMJP14
    IME\15.0

    また、IME2007・IME2010やWindows8の標準IMEを利用する場合は
    以下の対処をPackage.iniに入れておくほうが良いと思います。

    Package.iniの内容
    [BuildOptions]
    ExternalCOMObjects={FCE4078B-72B5-4122-95E4-45B5E2E88031};{F57CA90F-D309-4056-9616-6670A27BE8A1}
    ChildProcessEnvironmentExceptions=svchost.exe;DLLHost.exe;msiexec.exe;explorer.exe;ImeBroker.exe


















    ThinApp で仮想化した SimpleBrowser の起動が Windows8 だけ遅い問題について (COM OutProcess Serverの制御)

    $
    0
    0
    ThinApp で仮想化した SimpleBrowser の起動が Windows8 だけ遅い問題について (COM OutProcess Serverの制御)

    ThinAppで仮想化したSimpleBrowser (※1) の起動が、何故かWindows8 だけ遅い問題が発生しました。
    空白ページを表示するのに約10秒かかります。

    Windows7 等の他のOSでは、まったく問題なく、2秒もかからず表示されます。

    (※1)
    SimpleBrowserの入手先(フリーソフト)
    http://nilbrowser.ifdef.jp/


    原因:
    Windows8 では、IEコンポーネントを利用したプログラムの実行時に
    Shell関連の整合性チェック用のEXEが起動するからです。
    そのチェック用のRundll32.EXEが終了するまで、本体であるSimpleBrowserの起動が
    ブロックされ、全体で約10秒前後、起動に時間が掛かるようになっています。

    Rundll32.exeが起動
    起動コマンドラインは、以下になります。
    C:\Windows\System32\rundll32.exe shell32.dll,SHCreateLocalServerRunDll {9BA05972-F6A8-11CF-A442-00A0C90A8F39} –Embedding

    余談:
    COMのOutProcess Serverの実行をVOSで、制御する方法を学ぶ事が重要だったりします。
    ThinAppにおける、OutProcess Serverの制御方法が4パターンある事を伝えたいと思い
    投稿してみました。
    今回の表面上の問題は、起動遅延でしたがそれ以外にも、COM Outprocess Serverで
    弊害が発生することがあるので、そんな時は、以下の対処を頭の片隅にでも入れておいてください。



    対処方法:
    対処方法は、4パターンあります。

    いずれかの1つの対応を行えば、
    起動速度の問題は、解消されます。

    ※4つの対処を全部設定する必要はありません。

    パターン1.
      方針:遅延の原因になっている、Rundll32.exeを仮想環境(VOS)で動作しないように除外する。
    Package.iniファイルに以下を追加します。

      [BuildOptions]
      ChildProcessEnvironmentExceptions=rundll32.exe 

     ※ChildProcessEnvironmentExceptionsに関しては、こちらを参照ください。
    VOS上の仮想プロセスとして、指定したEXEを除外(物理側で実行)する設定値です。
      http://tunemicky.blogspot.jp/2012/03/thinapp-47-packageini.html


    パターン2.
      方針:遅延の原因になっている、COM OutProcess Serverを仮想環境(VOS)で動作しないように除外する。
      GUID: {9BA05972-F6A8-11CF-A442-00A0C90A8F39}
    Package.iniファイルに以下を追加します。

      [BuildOptions]
      ExternalCOMObjects= {9BA05972-F6A8-11CF-A442-00A0C90A8F39} 

     ※ExternalCOMObjectsに関しては、こちらを参照ください。
    VOS上で指定したGUIDを持つCOM OutProcessの作成を除外(物理側で実行)する設定値です。
      http://tunemicky.blogspot.jp/2012/03/thinapp-47-packageini.html

    パターン3.
      方針:遅延の原因になっている、COM OutProcess 自体を仮想環境(VOS)で動作しないように強制する。
    Package.iniファイルに以下を追加します。

      [BuildOptions]
      VirtualizeExternalOutOfProcessCOM=0

     ※VirtualizeExternalOutOfProcessCOMに関しては、こちらを参照ください。
    VOS上でCOM OutProcessの作成を除外(物理側で実行)する設定値です。
    パッケージに含まれているCOM OutProcess 自体は、仮想環境で動作する。
    今回のGUIDは、物理側のみに存在している。
      http://tunemicky.blogspot.jp/2012/03/thinapp-47-packageini.html

    パターン4.
      方針:遅延の原因になっている、COM OutProcess 自体を仮想レジストリの変更により動作しないようにする。
    HKEY_LOCAL_MACHINE.txtファイルに以下を追加します。

    isolation_writecopy HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{9BA05972-F6A8-11CF-A442-00A0C90A8F39}\LocalServer32
    Value=
    REG_SZ~#2300

    追記:
     なぜWindows8だけ遅いのか、
     物理側のレジストリをWindows7とWindows8で見比べてみると
     その違いが分かります。
     Windows7の場合は、特別な設定がありません。









    Windows8の場合だけ、特別な設定があります。







     このGUIDを検索してみたのですが、何のためにあるのかまでは、わかりませんでした。。。

    どのように私が、この問題を調査したのかというと、とても簡単です。
    起動が速いWindows7でThinApp Logmonitorを起動した場合
    起動が遅いWindows8でThinApp Logmonitorを起動した場合

    比較した場合に、表示されるログの中に、Rundll32.exeのプロセスがロギングされていました。
    あとは、そのログを確認すると、上記の理由がわかり、その対処を導き出す事ができた。
    という流れです。




    VMware ThinApp 製品概要と活用 解説書 (日本語 SoftBankBB製) の紹介

    $
    0
    0
    VMware ThinApp 製品概要と活用 解説書 (日本語 SoftBankBB製) の紹介

    「VMware ThinApp 製品概要と活用 解説書」が
    SoftBankBBから無料で公開されています。

    ※アンケートフォームに情報を入力する必要があります。
     その後、登録したメールにIDとパスワードが送信されます。

    https://solution2.it-ex.com/sales/promotion/vmware/product/ThinAppDescription.html

    手前味噌的でステマ的な話ですが。

    日本語でここまで、解説されている物は、他に無いと思います。
    ThinAppに興味がある、どんな仕組みでどんなアプリが動くのか
    ライセンス形態は、対応するOSは、の気になる情報が網羅されています。

    個人的な見どころとしては、P11で解説されている、Isolation Modeです。
    特にこのページのIsolationモードの図は、おすすめです。

    「Isolation Modeを制する者が、ThinAppを制する。」といっても過言ではありません。

















    目次は、こんな感じです。

    1. はじめに
     1.1 本書の位置付け
     1.2 本書の提供について
     1.3 本書の記載事項について
     1.4 改訂履歴
    2. アプリケーション仮想化 概要
     2.1 アプリケーションの仮想化とは
    3. アプリケーション仮想化製品 VMware ThinApp とは
     3.1 VMware ThinApp 紹介
     3.2 VMware ThinApp 製品概要
     3.3 VMware ThinApp によるアプリケーションのパッケージング
     3.4 アーキテクチャ
     3.5 ThinApp で仮想化できるアプリケーションと仮想化の守備範囲外
     3.6 対応OS
     3.7 ThinApp 単体ライセンスの体系
     3.8 Horizon Application Manager 連携による展開と管理
    4. まとめ
     4.1 ThinApp が導入される利用シーン
     4.2 総論
     4.3 参考情報(1) : アプリケーション仮想化の製品比較
     4.4 参考情報(2) : 各種サイト

    是非、みなさん読んでみてください。


    アプリケーションの互換性について (Windowsの本当の力を知っていますか?)

    $
    0
    0
    アプリケーションの互換性について (Windowsの本当の力を知っていますか?)



    Microsoftがアプリケーションの互換性にかける意気込みを知っていますか?

    今から3年以上前の記事になりますが@ITの、この記事は、絶対に読んで損は無いです。

    Windowsのアプリケーション互換に関して
    日本語でここまで、詳しく解説されている物を私は、他に知りません。


    [基礎解説]Windowsの互換性テクノロジの仕組み(前編)
    http://www.atmarkit.co.jp/fwin2k/tutor/wcompat01/wcompat01_01.html

    [基礎解説]Windowsの互換性テクノロジの仕組み(後編)
    http://www.atmarkit.co.jp/fwin2k/tutor/wcompat02/wcompat02_01.html

    Windows XP から Windows 7/8へのアプリケーション移行に関して
    まずは、無償で利用できる、Application Compatibility Toolkit(ACT)の
    知識の有無は、決定的な違いになると思います。
    知っているだけで、多くのアプリケーションを Windows 7/8で実行できます。
    しかも、基本的には、無料で利用できるのもポイントです。



    仮にアプリケーションを改修する場合や
    アプリ仮想化を利用する場合にも
    この Windows に標準で備わっている、アプリケーションの互換エンジンの動作を
    知ることで、より効率的に移行ができます。

    私も、多くのアプリケーションを Windows XP から移行していますが、
    アプリケーションの仮想化だけでは無く、更にACTを利用して
    移行を行う場合があります。

    それぞれの役割は微妙に異なるので、「いいとこ取り」をしつつ
    最終的な目的である、Windows 7/8でレガシーアプリを動作させ、業務を継続し
    後ろ向きなIT投資を抑制する。
    事ができているのも、このACTを知っているからと言っても過言ではありません。

    [基礎解説]Windowsの互換性テクノロジの仕組み(前編)
    http://www.atmarkit.co.jp/fwin2k/tutor/wcompat01/wcompat01_01.html
       1.互換性問題が生じるワケ
       2.Windows 7との互換性を確保する「shim」
       3.互換性テクノロジが効果を発揮する場面
     
    [基礎解説]Windowsの互換性テクノロジの仕組み(後編)
    http://www.atmarkit.co.jp/fwin2k/tutor/wcompat02/wcompat02_01.html
       1.Application Compatibility Toolkit(ACT)とは?
       2.ACTで「互換性データベース」を作る
       3.Windows互換性テクノロジの限界と活用


    おまけ:
    佐藤 芳樹さんのこの記事に何回助けてもらったことか。
    ありがとうございます。

    Windowsほど、アプリの互換性が高いプラットフォームは無いと思います。
    OSのバージョンが上がる度、OSのサポートが切れる度に
    各方面から、Microsoftは攻撃されますが、ここまで古いアプリケーションを
    新しいOSで動作させているメーカーは他に無いと思います。
    例としては、Windows 8 で VB6 アプリの実行は、基本的にサポートされています。

    VB6アプリの実行をサポートするOSだけみても、
    Windows 95 / 98 / Me
    Windows NT4.0 / 2000 / XP / Vista / 7 / 8
    Windows 2003 / 2008 / 2008R2 / 2012
    とほとんどのWindows OSで実行がサポートされています。
    ※本当に動作するかは、別として。実際は、3rdパーティー製のOCXとかの問題は、ありますけどね。

    ただし、伝え方があまり上手くなかったり、マーケティング的に新しいOS
    新しいユーザー体験を得るための新しい開発環境を強烈にプッシュする必要があるのも
    事実なので、あまり互換性に関して、表に出てこない事は、うなずけますが。。。

    だからと言って、これまで使い続けていた、使い慣れたシステムを
    メーカー都合で捨てるには、あまりにも「勿体無い」し「悔しい」ですよね。
    そんなメーカー都合の中には、ちゃんと救済策が含まれているのです。
    代表的なのが今回のACT、Shimです。

    個人的には、ちゃんと用意されている物を駆使してから、互換性に関する文句は、言うようにしたいと思うのでした。

    参考:
    日本語:Application Compatibility Toolkit (ACT) Version 5.6 の概要
    http://technet.microsoft.com/ja-jp/library/cc722367(v=ws.10).aspx

    ACT5.6のダウンロードURL
    http://www.microsoft.com/en-us/download/details.aspx?id=7352

    Shimの内容について
    http://technet.microsoft.com/ja-jp/library/cc722305(v=ws.10).aspx







    Viewing all 93 articles
    Browse latest View live