&tag(InnoSetup);
*目次 [#c7d1b938]
#contents
*関連ページ [#y9d5eebf]
-[[./基本]]
-[[./多言語化]]
-[[./dotnetframework]]
-[[./Tips]]

*参考情報 [#xd53ce9c]
-[[Inno Setup:http://www.jrsoftware.org/isinfo.php]]

*概要 [#b32b5071]
-通常版とUNICODE版がある。最近のだとUNICODEで良いかも。
-インストールするとサンプルのセットアップがついてくるので参考になる。

*ファイルの関連付け [#v7511abb]
**基本 [#uad033e9]
-http://www.jrsoftware.org/isfaq.php#assoc に公式情報がある。
-[Setup]セクションに以下を追加。
 [Setup]
 ChangesAssociations=yes
-[Registry]セクションに以下を追加。
#pre{{
[Registry]
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MYPROG.EXE,0"
Root: HKCR; Subkey: "MyProgramFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYPROG.EXE"" ""%1"""
}}

※解説
-1行目: HKEY_CLASS_ROOTの.mypキーの規定値に、"MyProgramFile"という関連付け名を作成することを宣言。
-2行目: HKEY_CLASS_ROOTの下に"MyProgramFile"というキーを作り、規定値に"My Program File"を設定する(この名前はたぶん適当で良い)。
-3行目: HKEY_CLASS_ROOTの下に"MyProgramFile\DefaultIcon"というキーを作り、その規定値としてインストールしたアプリのパスを設定する。
-4行目: HKEY_CLASS_ROOTの下に"MyProgramFile\shell\open\command"というキーを作り、その規定値としてアプリのパスを設定する。

**基本でうまくいかない場合の対策 [#ta1a765b]
-Inno Setupの公式FAQではうまくいかないかもしれない。
-HKEY_CLASS_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mypのようなエントリーがあるとだめ。
-UserChoiceがあるとそっちが使われるので、
-Inno Setupの[Registry]に以下を追加すれば、レジストリが削除される。
 Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.myp"; Flags: deletekey

**チェックボックスで関連付けを選択 [#z9905954]
-[Tasks]セクションに追加
#pre{{
[Tasks] 
Name: association; Description: "*.mypファイルを関連付ける"
}}
-[Registry]セクションにの各行にTasksを追加。
#pre{{
[Registry]
Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.myp"; Flags: deletekey; Tasks: associatin 
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue; Tasks: associatin
Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey; Tasks: associatin
Root: HKCR; Subkey: "MyProgramFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MYPROG.EXE,0"; Tasks: associatin
Root: HKCR; Subkey: "MyProgramFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYPROG.EXE"" ""%1"""; Tasks: associatin
}}


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS