2011/04/14

仮想アプリケーションが、Windows XPでは動くが、Windows 7では動かない場合、試してみること

---症状---
Windows XPで動くネイティブアプリケーションを、ThinAppで仮想アプリケーションにする。
その仮想アプリケーションをWindows 7で実行すると、うまくいかない。動かない。
-----------
http://blogs.vmware.com/thinapp/2011/04/making-windows-xp-only-apps-run-on-windows-7.html

こんな場合、たとえば以下のような、MFC関連のDLLを仮想アプリケーションに入れておけばイケることが少なからずある。そもそも仮想アプリケーションのエラーログ(Log Monitorで見る)に、それ(=xxx.dllが無ぇぞー的な)と分かるようなログが記録されているので、そこからも足りないDLLは判断できる。

MFC40.DLL
MFC40U.DLL
MFC42.DLL
MFC42U.DLL
MSVBMxx.DLL ("xx" は、50, 60, 70, 80, とか)
MSVCRT.DLL
MSVCRT20.DLL
MSVCRT40.DLL
MSVCPxx.DLL ("xx" は、50, 60, 71, 80, とか)
MSVCP50.dll
COMCTL32.DLL

---以下は、稀だが・・・
COMADDIN.DLL
COMCAT.DLL
COMDLG32.DLL
COMMDLG.DLL


コレを適用して、実際に某社の業務アプリケーションでイケたことを教えてくれたTさんに感謝。