少なくとも、以下の環境で再現を確認しています。
OS : Windows 7 Professional(32bit)
Office : 2007 SP2 (12.0.6504.5000)
MSO.DLL: 12.0.6521.5000
OS : Windows XP Professional SP3(32bit)
Office : 2007 SP2 (12.0.6504.5000)
MSO.DLL: 12.0.6529.5000
OS : Windows XP Professional SP2(32bit)
Office : 2003 SP3 (11.8318.8221)
MSO.DLL: 11.0.8221.0
【経緯】
特定のバージョンの PowerPoint がインストールされているかを確認するために、PowerPoint
を起動して、バージョンチェックするようなコードで発生しました。
Microsoft Office Live Add-in を無効にすると現象は発生しません。
【Office Live Add-in 】
Office Live Update 1.4
http://www.microsoft.com/downloads/details.aspx?FamilyID=36bac9da-1ee4-40df-b06c-a327269f2b63&DisplayLang=ja
【サンプル】
以下は現象再現用の sample JScript です。
//
// JScript on Windows Script Host
//
var e = new Error();
var nSleepMSec = 0; // msec
try
{
// PowerPoint起動
var oPpt = new ActiveXObject("PowerPoint.Application");
WScript.Sleep(nSleepMSec);
oPpt.Quit();
}
catch (e)
{
WScript.Echo(e.number, e.description);
}
調査したところ、起動して、すぐに終了するようなコードを書くと強制終了するようです。なので、前述のサンプルスクリプトで Sleep
する時間を10秒程度にすると現象は起こらなくなります。
問題が Microsoft Office Live Add-in
に起因することがほぼ間違いないと思いますが、これを無効にする以外の対策があれば教えていただきたく。
Office は最新にアップデートされており、仮にパッチなどを古いバージョンに戻して発生しないとしても、それは受け入れられません。