このブログを検索

2013/06/15

拡張子の関連付け:Adobe AfterEffects を複数インストール

今回はたまたまAfterEffectsだったので、拡張子.aepでいろいろやっているが、他の拡張しても応用できる.

AfterEffects CS4 を入れた後に、AfterEffects 7.0 をインストールしてしまい、aep ファイルをクリックして AE を起動すると、CS4で起動して欲しいにもかかわらず、AfterEffects 7.0 で起動してしまう.
そういった場合は下記のレジストリを書き換えてあげれば任意のバージョンで起動させることが出来る.
変更前
[HKEY_CLASSES_ROOT\.aep]
@="AfterEffects.Project.70"
変更後
[HKEY_CLASSES_ROOT\.aep]
@="Adobe.AfterEffects.Project.90"
ちなみに「@(規定値)」に渡す文字列は、「HKEY_CLASSES_ROOT\」以下にある任意のソフトウェアのキー名と同じでなければならない事に気をつける.
私がハマったことは、規定値として渡す値 AfterEffects.Project.70の「70」を「90」に直しただけで起動バージョンを変更できると勝手に思い込んでしまったこと.
もっとしかっりキー名を追っていれば、「Abobe.」抜けていることにすぐ気付けただろう.

コマンドプロンプトから以下のコマンドを叩いてもよし.
USER>reg add HKCR\.aep /f /ve /t REG_SZ /d Adobe.AffterEffects.Project.90
レジストリを登録したら、explorerの再起動か、マシンの再起動で設定が反映される.
もし、反映されていなかったら、既に拡張子に対してのアプリケーションの割り当てが行われている可能性があるので、以下のレジストリをチェックし、記述があるようであればキー名ごと削除する.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.aep\UserChoice
削除後は同様に再起動すれば、反映されてアイコンも正常に表示されるだろう.

また、aepファイルを右クリックしたときに、任意のバージョンで起動出来るように設定する方法を以下に.
例えば、デフォルトがAE CS4でその他(AE7, AE CS6)は右クリックから起動する場合は、以下のレジストリ設定を流す.
[HKEY_CLASSES_ROOT\.aep]
@="Adobe.AfterEffects.Project.90"
[HKEY_CLASSES_ROOT\Adobe.AfterEffects.Project.90\shell\open1]
@="Open with Adobe After Effects 7"
[HKEY_CLASSES_ROOT\Adobe.AfterEffects.Project.90\shell\open1\command]
@="\"C:\\Program Files (x86)\\Adobe\\Adobe After Effects 7.0\\Support Files\\AfterFX.exe\" \"%1\""
[HKEY_CLASSES_ROOT\Adobe.AfterEffects.Project.90\shell\open2]
@="Open with Adobe After Effects CS6"
[HKEY_CLASSES_ROOT\Adobe.AfterEffects.Project.90\shell\open2\command]
@="\"C:\\Program Files\\Adobe\\Adobe After Effects CS6\\Support Files\\AfterFX.exe\" \"%1\""
設定後に、aepファイルを右クリックすると以下のような表示になる.

2013/06/13

windowsでデータコピー中に「メモリ不足のためこの操作は実行できません」と表示されコピーが止まる

windows7(32bit)でデータコピー中に「メモリ不足のためこの操作は実行できません」と表示され、コピーがいちいち止まって、毎回「再試行」ボタンを押していてイライラしていた.

原因はデスクトップヒープのメモリ領域が少ないが為に起こる現象のようだ.
デスクトップヒープとはwikipediaによると画面部分のデータを管理するメモリ領域との事で、自分のパソコンは12288と設定されていたようだ.(ちなみにメモリ4GB載せてます)

検索してみたところ、りあえず下記のレジストリの値を書き換えると解決できるとの事で書き換えてみた.
キー名:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
キー内の値名:
Windows
修正前の値:
%SystemRoot%\system32\csrss.exe 
ObjectDirectory=\Windows 
SharedSection=1024,12288,768 
Windows=On 
SubSystemType=Windows 
ServerDll=basesrv,1 
ServerDll=winsrv:UserServerDllInitialization,3 
ServerDll=winsrv:ConServerDllInitialization,2 
ServerDll=sxssrv,4 
ProfileControl=Off 
MaxRequestThreads=16
修正後の値:
%SystemRoot%\system32\csrss.exe 
ObjectDirectory=\Windows 
SharedSection=1024,20480,768
Windows=On 
SubSystemType=Windows 
ServerDll=basesrv,1 
ServerDll=winsrv:UserServerDllInitialization,3 
ServerDll=winsrv:ConServerDllInitialization,2 
ServerDll=sxssrv,4 
ProfileControl=Off 
MaxRequestThreads=16
SharedSectionの2番目の引数を20480(マイクロソフト推奨)に設定して再起動したら表示されなくなった.

-- 追記
とおもったら、全然メモリ不足警告が表示されて、何の解決にも至っていなかった.
今回は、fastcoyでコピーして、吐かれたエラーログを頼りにcopyコマンド作成して対応してみた.
エラーファイルは1000ファイル程だったので、吐かれたエラーをコピペしてテキストエディタに貼り付けて、ファイルパスのみを抽出複製して、複製したパスのドライブ名を変更するだけで何とかしのげた.
ドライブの移行だけだったからこんなもんで済んでよかった.

今回使用したコマンドは以下のもの.
copy /Y /V F:\file00.png D:\file00.png >> c:\copy.log
copy /Y /V F:\file01.png D:\file01.png >> c:\copy.log
...
※ copy.logはエラー確認用
-- 追記
毎回コピーツールでコピーっていうのは、なんだかなと思い再度調べてみたところどうやら原因は、SharedSectionの3番目の引数に原因があるようだ.
参照先をよく読んでいたら、マイクロソフトのfixitによる修正では3番目の引数も1024に変更されるとの事だったので、自分も同じ設定にして再起動してみたら、今度こそエラーも無くコピーを終えてくれた.
もっと良く読もう!おれ!
SharedSection=1024,20480,1024
参考:
http://support.microsoft.com/kb/947246

2013/06/12

Autodesk 3dsmax 2013 AutoplayPreviewFileの設定が max 再起動後に反映されない

autodesk 3ds max 2013 "autoplay preview file" の設定が3dsmax再起動後に反映されないという現象が起こった.下記項目のチェックを外しても、3dsmax再起動後はチェックがついている...
3dsmax > toolbar > customize > preference > general tab > ui display > "autoplay preview file"
なんでだろうと思って調べてみたところ、描画モードがNitorusになっている事が原因なので、描画モードをDirect3Dに変更すれば解決するようだ.
描画モードは3dsmax.iniファイル内でも修正可能.
"%localappdata%\Autodesk\3dsMax\2013 - 64bit\ENU\3dsmax.ini"
上記のファイルを開いて、下記の部分を修正すればよい.
[WindowState]
GFXType=Nitorus --修正後--> GFXType=Direct3D

2012でも同様の現象が起こっていた.原因も2013同様Nitorusに起因するよう.
3dsmax 2014では描画モードがNitorusでも"AutoPlay Preview File"をオフに出来るようでした.

今回、3dsmax.iniファイルの書き換えタイミングを追って今回の現象を発見できたけど.
maxってほんと面白いなーと感じました。。。