質問者
外字エディタの場所

全般的な情報交換
-
外字エディタ(eudcedit.exe)が格納されている場所について質問です。
Windows Server 2008 (x86)では、
C:\windows\system32
にありました。
Windows Server 2008 R2 RC版では、
C:\Windows\winsxs\amd64_microsoft-windows-eudcedit_31bf3856ad364e35_6.1.7100.0_none_26aa188accf169b8
にしかありません。
Windows Server 2008 R2 では、上記のようなサイドバイサイドのフォルダ下にしかなくなってしまったのでしょうか。
a2009年7月13日 6:55
すべての返信
-
[デスクトップ エクスペリエンス] をインストールすることにより外字エディタがシステムにインストールされます。
[デスクトップ エクスペリエンス] のインストール後に、 EUDCEDIT を起動してみてください。
デスクトップ エクスペリエンスの概要
http://technet.microsoft.com/ja-jp/library/cc772567(WS.10).aspx2009年10月21日 5:23 -
ありがとうございます。
デスクトップ エクスペリエンスをインストールすることで
外字エディタ(eudcedit.exe)がシステムディレクトリ(system32)下へインストールされました。ただ、こちらでは自作プログラムから外字エディタを起動するようにしているのですが、
CreateProcess関数を用いて外字エディタを起動しようとすると、ERROR_FILE_NOT_FOUND(2)で失敗して
しまいます。(エクスプローラからの起動、コマンドラインからの起動、ファイル名を指定して実行などからは起動できます)
フルパスで指定してもERROR_FILE_NOT_FOUND(2)で失敗します。ShellExecute関数でも試してみましたが,同様にERROR_FILE_NOT_FOUND(2)で失敗します。
(こちらもフルパス指定でもERROR_FILE_NOT_FOUND(2)で失敗)Windows Server 2008、Windows Vista、Windows 7あたりでは同じプログラムで
正常に起動できます。
(管理者に昇格せずに起動した場合は、エラーコード740が返されますが、Windows Server 2008 R2では
740ではなくERROR_FILE_NOT_FOUND(2)となります。)Windows Server 2008 R2上で外字エディタ以外のプログラムを起動できるかも試してみました。
<CreateProcess>
・電卓(calc.exe)・・・起動可
・SQLクライアント設定ユーティリティ(cliconfg.exe)・・・740エラー
・コマンドプロンプト(cmd.exe)・・・起動可
・イベントビューア(eventvwr.exe)・・・740エラー
・マイクロソフト管理コンソール(mmc.exe)・・・740エラー
・外字エディタ(eudcedit.exe)・・・ERROR_FILE_NOT_FOUND(2)<ShellExecute>
・電卓(calc.exe)・・・起動可
・SQLクライアント設定ユーティリティ(cliconfg.exe)・・・起動可
・コマンドプロンプト(cmd.exe)・・・起動可
・イベントビューア(eventvwr.exe)・・・起動可
・マイクロソフト管理コンソール(mmc.exe)・・・起動可
・外字エディタ(eudcedit.exe)・・・ERROR_FILE_NOT_FOUND(2)なぜ、外字エディタの起動だけ(他にもあるかもしれませんが)ERROR_FILE_NOT_FOUND(2)となって
しまうのか、お分かりになる方がおられましたらご教授ください。
a2009年12月7日 4:45 -
自己レスです。
ちょっとこの件は眠らせていましたが、最近少し進んだので書かせていただきます。
外字エディタ(eudcedit.exe)が、ERROR_FILE_NOT_FOUND(2)になる原因は、
本当にファイルが無いためでした。
というのは、外字エディタ(eudcedit.exe)を起動させる自作プログラムは32ビット
アプリケーションなのですが、デスクトップ エクスペリエンスをインストールして
入る外字エディタ(eudcedit.exe)は64ビットアプリケーションです。
自作プログラムからはc:\windows\system32\eudcedit.exeとパスを指定して
起動していましたが、自作プログラムは32ビットアプリケーションであるため、OS
によりリダイレクトされ、c:\windows\SysWOW64\eudcedit.exeを参照する
ため、ERROR_FILE_NOT_FOUND(2)となってしまった様です。
リダイレクトせずにc:\windows\system32\eudcedit.exeを起動するためには
自作プログラムを64ビットアプリケーションにするか、もしくはパスの指定を
c:\windows\sysnative\eudcedit.exeとすることで起動することに成功しました。
ただし、後者の場合、管理者に昇格して自作プログラムを起動しておかないと
起動に失敗してしまいました。昇格確認ダイアログが表示されると思ったのですが
表示されません。
(CreateProcessの場合は740エラー、ShellExecuteの場合は
ERROR_PATH_NOT_FOUND(3) )
なんとか、管理者に昇格せずに起動した自作プログラムから、eudcedit.exeを
起動したいのですが、お分かりになる方がおられましたらご教授ください。
a2010年1月25日 9:18