undonut+modで関連づけ(Vistaのみ)


いまだにメインのブラウズはundount+mod(なんてったって軽い)です。FirefoxIDEをあげる感覚で使う。
IE8いれたらHTTP関連づけを奪われてしまいIE8が起動するようになってしまった。
http://undonut.undo.jp/index.cgi?%e6%97%a2%e7%9f%a5%e3%81%ae%e3%83%90%e3%82%b0
みたら「vista では setup.exe(やdonutオプション)で関連付けが行えない。」とあり確かにできない。orz。


Vistaの関連づけ
http://blogs.wankuma.com/rapt/archive/2007/02/13/61985.aspx
http://blogs.wankuma.com/rapt/archive/2007/04/29/73665.aspx
http://blogs.wankuma.com/rapt/archive/2007/06/07/79842.aspx


Default Programs
http://msdn.microsoft.com/en-us/library/bb776873.aspx


にたどりつく。
Visaの関連付けはXPとはちがうのですね。
ここにかいてあるとおりにしたらうまくいった。
いか関連付けするバッチファイルです(うまくいかなくても責任は負いませんが)。

@IF "%DEBUG%" == "" @ECHO OFF
@REM ####################################################
@REM unDount+mod の関連づけ
@REM 参考:http://blogs.wankuma.com/rapt/archive/2007/04/29/73665.aspx
@REM ####################################################

set Company=donut
set AppName=unDonut
set AppPath=c:\tools\unDonut\unDonut.exe
set Capabilities=HKLM\SOFTWARE\%Company%\%AppName%\Capabilities
SET EXECBATCH="1"

@REM 既定のプログラム
reg add "%Capabilities%" /v "ApplicationName" /d "undonut+mod" /t REG_SZ /f
reg add "%Capabilities%" /v "ApplicationDescription" /d "動作が軽快なタブ型のウェブブラウザです。" /t REG_SZ /f

@REM 既定のプログラムの一覧に項目が追加
reg add "HKLM\SOFTWARE\RegisteredApplications" /v "%AppName%" /d "SOFTWARE\%Company%\%AppName%\Capabilities" /t REG_SZ /f

@REM 関連づけ
set HTML=AssocFile.HTML
set URL=AssocFile.URL
reg add "%Capabilities%\FileAssociations" /v ".html" /d "%AppName%.%HTML%" /t REG_SZ /f
reg add "%Capabilities%\FileAssociations" /v ".htm" /d "%AppName%.%HTML%" /t REG_SZ /f
reg add "%Capabilities%\FileAssociations" /v ".url" /d "%AppName%.%URL%" /t REG_SZ /f
reg add "%Capabilities%\URLAssociations" /v "http" /d "%AppName%.HTTP" /t REG_SZ /f
reg add "%Capabilities%\URLAssociations" /v "https" /d "%AppName%.HTTP" /t REG_SZ /f
reg add "%Capabilities%\URLAssociations" /v "ftp" /d "%AppName%.HTTP" /t REG_SZ /f

@REM 関連付け(詳細)
set TYPE=HKCR\%AppName%.%HTML%
reg add "%TYPE%" /v "" /d "HTML Document" /t REG_SZ /f
reg add "%TYPE%" /v "FriendlyTypeName" /d "@%systemroot%\system32\ieframe.dll,-912" /t REG_EXPAND_SZ /f
reg add "%TYPE%\shell\open\command" /v "" /d "%AppPath%" /t REG_SZ /f
reg add "%TYPE%\shell\open\%AppName%" /v "" /d "%AppName% で開く" /t REG_SZ /f
reg add "%TYPE%\shell\open\%AppName%\command" /v "" /d "%AppPath%" /t REG_SZ /f

set TYPE=HKCR\%AppName%.%URL%
reg add "%TYPE%" /v "FriendlyTypeName" /d "@%systemroot%\system32\ieframe.dll,-10046" /t REG_EXPAND_SZ /f
reg add "%TYPE%" /v "EditFlags" /d 2 /t REG_DWORD /f
reg add "%TYPE%" /v "IsShortcut" /d "" /t REG_SZ /f
reg add "%TYPE%" /v "NeverShowExt" /d "" /t REG_SZ /f
reg add "%TYPE%\shell\open\command" /v "" /d "%AppPath%" /t REG_SZ /f
reg add "%TYPE%\shell\open\%AppName%" /v "" /d "%AppName% で開く" /t REG_SZ /f
reg add "%TYPE%\shell\open\%AppName%\command" /v "" /d "%AppPath%" /t REG_SZ /f

set TYPE=HKCR\%AppName%.HTTP
reg add "%TYPE%" /v "" /d "URL:HyperText Transfer Protocol" /t REG_SZ /f
reg add "%TYPE%" /v "FriendlyTypeName" /d "@%systemroot%\system32\ieframe.dll,-903" /t REG_SZ /f
reg add "%TYPE%" /v "EditFlags" /d 2 /t REG_DWORD /f
reg add "%TYPE%" /v "URL Protocol" /d "" /t REG_SZ /f

IF %EXECBATCH% == "1" (
reg add "%TYPE%\shell\open\command" /v "" /d "\"%AppPath%\" \"%%1\"" /t REG_SZ /f
) ELSE (
reg add "%TYPE%\shell\open\command" /v "" /d "\"%AppPath%\" \"%1\"" /t REG_SZ /f
)
reg add "%TYPE%\shell\open\%AppName%" /v "" /d "%AppName% で開く" /t REG_SZ /f
IF %EXECBATCH% == "1" (
reg add "%TYPE%\shell\open\%AppName%\command" /v "" /d "\"%AppPath%\" \"%%1\"" /t REG_SZ /f
) ELSE (
reg add "%TYPE%\shell\open\%AppName%\command" /v "" /d "\"%AppPath%\" \"%1\"" /t REG_SZ /f
)

reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\HTTP\UserChoice" /v "Progid" /d "%AppName%.HTTP"  /t REG_SZ /f
reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\HTTPS\UserChoice" /v "Progid" /d "%AppName%.HTTP"  /t REG_SZ /f
reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\FTP\UserChoice" /v "Progid" /d "%AppName%.HTTP"  /t REG_SZ /f