このブログを検索

ラベル registry の投稿を表示しています。 すべての投稿を表示
ラベル registry の投稿を表示しています。 すべての投稿を表示

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/05/29

ファイルの削除、変更、移動をした時に、エクスプローラーに反映されない場合

ファイルの削除、変更、移動をした時に、エクスプローラーに反映されない場合は、レジストリに以下の項目を追加してあげれば解決する可能性あり.
=======
.reg ファイルの場合
----
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoSimpleNetIDList"=dword:00000001

=======
ms-dos コマンドの場合
----
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoSimpleNetIDList /t REG_DWORD /d 1
----
とりあえず、今のところは問題なし.

2012/09/06

拡張子.maxのアイコンが表示されないときの対処


拡張子.maxファイルアイコンが表示されておらず、リンクが切れたアイコン表示になっていた.
調べたところ、レジストリの下記項目が無くなっていたので、新たに追加することで解決した.
※CCleanerで消したのが原因かも知れない.
HKEY_CLASSES_ROOT\3dsmax\DefaultIcon
.regファイル中身
[HKEY_CLASSES_ROOT\3dsmax\DefaultIcon]
@="\"C:\\Program Files\\Autodesk\\3ds Max 2010\\\\ui\\Icons\\file_3dsmax_max.ico\""
regファイルを実行後explorer の再起動をすればアイコンが表示される.

あと、.exeのアイコンが表示されなくなったら、以下のファイルを削除して、explorerを再起動してあげれば直るかも.(未検証)
%localappdata%\IconCache.db

2012/06/13

SIDを表示するためのコマンド

レジストリから、任意のLicense Keyを削除したかったが、SIDがマシン毎に異なっていたた.
そのため削除を行うのが非常に手間だった.
「SID、コマンド」などで検索したら以下のコマンドでSIDが取得できるようだ.
whoami /user
上記コマンドと組み合わせて以下のようにbatファイルを作成し、任意のレジストリを削除することができた.
for /f "usebackq tokens=2" %%i in (` whoami /user /nh `) do (set VALUE=%%i)
reg delete "HKEY_USERS\%VALUE%\Software\[任意のキー]"
SIDとは「Security Identifier」 の略らしい.

2012/05/23

Windows7でセキュリティの警告を表示させない設定

Windows7でNAS(Dドライブとしてマウント済み)に置いてあるexeを起動する度に「セキュリティの警告」が表示されるので表示されないように設定を変更する.
InternetExplorer起動 > ツール > インターネットオプション > セキュリティ > ローカルイントラネット > サイト > 詳細設定 > ”このwebサイトをゾーンに追加する”に「 D:¥ 」を入力し追加
すると、ウィンドウ下部の”webサイト一覧”に「 file://nas-01 」(設定しているNASのマシン名)が表示される.開いたウィンドウを全て閉じ、InternetExplorerを落とす.
上記設定手順でNAS上にあるexeを警告なしで実行できる.

人に説明するのが面倒な場合は、以下のレジストリを流し込む.
[HKEY_CURRENT_USER¥Software¥Microsoft¥Windows¥CurrentVersion¥Internet Settings¥ZoneMap¥Map¥Domains¥nas-01]
"file"=dword:00000001
datファイルは以下の通り
reg add "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Internet Settings¥ZoneMap¥Domain¥nas-01" /v file /t REG_DWORD /d 1
ゾーン毎に動作を変更させたい場合は、レベルのカスタマイズから詳細変更を行える.
InternetExplorer起動 > ツール > インターネットオプション > セキュリティ > [任意のゾーン] > レベルのカスタマイズ
レジストリで変更する場合は以下のパス
HKEY_CURRENT_USER¥Software¥Microsoft¥Windows¥CurrentVersion¥Internet Settings¥Zones¥[ 任意のゾーン番号 ]¥
上記パス内の数値の意味等は以下(ページ中段付近の「Zones」)を参照

2012/04/24

レジストリの削除

.reg ファイルによる指定したキー名と値名の削除
「-(ハイフン)」が重要
キー名:
[-HKEY_LOCAL_MACHINE¥SOFTWARE¥FLEXlm License Manager]
値名:
[HKEY_LOCAL_MACHINE¥SOFTWARE¥FLEXlm License Manager]
"FRANTIC_LICENSE_FILE"=-
.bat ファイルによる指定したキー名と値名の削除
キー名:
reg delete "HKEY_LOCAL_MACHINE¥SOFTWARE¥FLEXlm License Manager" /f
値名:
reg delete "HKEY_LOCAL_MACHINE¥SOFTWARE¥FLEXlm License Manager" /f /v FRANTIC_LICENSE_FILE
dosコマンドの方はヘルプオプションで色々出てきてくれる。



参考:追加、変更、または、登録エントリ (.reg) ファイルを使用してレジストリ サブキーおよび値を削除する方法
参考:コマンド・プロンプトでレジストリを操作する