MBUILD コマンドを実行すると DLLRegisterServer エラーとなるのはなぜですか?
6 views (last 30 days)
Show older comments
MathWorks Support Team
on 10 Mar 2015
Answered: MathWorks Support Team
on 10 Mar 2015
MATLAB Compiler を使用する前に、C または Fortran コンパイラを選択するために MBUILD コマンドを実行しようとしていますが、以下のようなエラーとなります。
--> ""C:\MATLAB71\bin\win32\mwregsvr"
"C:\MATLAB71\bin\win32\mwcomutil.dll""
Error: DllRegisterServer in
"C:\MATLAB71\bin\win32\mwcomutil.dll" failed
Undefined subroutine &mexsetup::expire called at
C:\MATLAB71\/bin\mexsetup.pm line 752.
??? Error using ==> mbuild
Unable to complete successfully
Accepted Answer
MathWorks Support Team
on 10 Mar 2015
このエラーは現在のユーザーがレジストリの更新を行うために必要なアクセス権を持っていないことが原因です。MBUILD コマンドは MWREGSVR コマンドで 2 つの COM コンポーネントのレジストリを行います。
この現象がアクセス権の問題であることを確認するために、コマンドプロンプト (DOS 窓)を起動し、以下のようなコマンドを実行します。
R2009b 以前の場合:
cd $MATLABROOT$\bin\$ARCH$
regsvr32 mwcomutil.dll
R2009b以降の場合
cd $MATLABROOT$\runtime\$ARCH$
regsvr32 mwcomutil.dll
ここで、$MATLABROOT$ は MATLAB インストールされたフォルダです。また、$ARCH$ は WIN32 または WIN64 となります。そのまま実行しますと以下のようなエラーとなります。
ERROR: DllRegisterServer in mwcomutil.dll failed. Return code was: 0x80070005
Windows 7以降の場合、コマンドプロンプトまたは MATLAB 起動時に起動アイコンを右クリックし、「管理者として実行」を選択して起動することにより解決します。
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB Compiler SDK in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!