Tag: InnoSetup

目次

関連ページ

参考情報

概要

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

ファイルの関連付け

基本

  • http://www.jrsoftware.org/isfaq.php#assoc に公式情報がある。
  • [Setup]セクションに以下を追加。
    [Setup]
    ChangesAssociations=yes
  • [Registry]セクションに以下を追加。
    [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"というキーを作り、その規定値としてアプリのパスを設定する。

基本でうまくいかない場合の対策

  • 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

チェックボックスで関連付けを選択

  • [Tasks]セクションに追加
    [Tasks] 
    Name: association; Description: "*.mypファイルを関連付ける"
    
  • [Registry]セクションにの各行にTasksを追加。
    [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
Last-modified: 2016-04-13 (水) 16:46:38