7

解決しました!!

myapp:start へのリンクにアクセスまたはクリックしたときにアプリケーションを起動する、アプリケーションのカスタム URL プロトコルを作成しようとしています。

私の問題は、ユーザーがアプリケーションをインストールした場所を知る方法です。msi インストーラーは、HKEY_CLASSES_ROOT をレジストリーに登録するときに場所を指定できますか?

HKEY_CLASSES_ROOT
   myapp
      (Default) = "URL:myapp Protocol"
      URL Protocol = ""
      DefaultIcon
           (Default) = "myapp.exe,1"
      shell
           open
               command
                   (Default) = "C:\Program Files\MyAppFolder\MyApp.exe" "%1"

インストールプロセス中にユーザーがアプリをインストールしたパス「C:\Program Files\MyAppFolder\MyApp.exe」を変更したかったのです。

解決

HKEY_CLASSES_ROOT
   myapp
      (Default) = "URL:myapp Protocol"
      URL Protocol = ""
      DefaultIcon
           (Default) = "myapp.exe,1"
      shell
           open
               command
                   (Default) = "[TARGETDIR]MyApp.exe "%1""

[TARGETDIR] は、ユーザーがファイルをインストールした場所に自動的に変更されます (例: "C:\Program Files\MyAppFolder\")。

詳細については、このリンクをクリックしてください -> アプリケーションを URI スキームに登録する

4

1 に答える 1

4

Visual Studioセットアッププロジェクトでは[TARGETDIR]、レジストリキーを作成するときに変数を使用できます。

この変数は、アプリケーションがインストールされているターゲットディレクトリに自動的に設定され、.exeファイルを最後に追加するだけです。

于 2013-03-11T10:55:52.230 に答える