2017-02-27 12 views
-2

カスタムURIスキームと独自のファイルタイプを持つアプリケーション用のインストーラを作成しています。アプリケーションはlauncher.batで実行されました。レジストリで私はlauncher.batに設定しました。 launcher.batの代わりにエクスポレーターとブラウザーの両方でアプリケーションを開くようにアプリケーション名を登録したいのでない限り、それは必要です。インストーラスクリプトによって適用Windowsレジストリ - アプリケーションを登録してファイルタイプを開く

レジストリファイルは、(それが動的に生成されますされているので、同様アプリケーションパスを気にしない)、次のされています。私は他の

Windows Registry Editor Version 5.00 

; ---- Add myext extension 
[-HKEY_CLASSES_ROOT\.myext] 

[HKEY_CLASSES_ROOT\.myext] 
"content-type"="application/myext+xml" 
@="myapp" 


; ---- Add myapp for protocol 
[-HKEY_CLASSES_ROOT\myapp] 

[HKEY_CLASSES_ROOT\myapp] 
@="URL:tahuna Protocol" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\myapp\DefaultIcon] 
@="MyApplication.exe,1" 

[HKEY_CLASSES_ROOT\myapp\shell] 
@="open" 

[HKEY_CLASSES_ROOT\myapp\shell\open] 
@="Open with My Application" 

[HKEY_CLASSES_ROOT\myapp\open\command] 
@="\"C:\\Program Files (x86)\\My Application\\launcher.bat\" \"%1\"" 

何を追加する必要がありますそうするためにレジストリに?

+0

実際の問題は何ですか? – Anders

答えて

0

上記のレジストリは、ランチャー(または任意の実行可能ファイル)への拡張を割り当てて、それを開くために、しかし、OSのみ、関連として実行可能ファイル名を示していプログラム - 登録されていないので問題ありません。これは、exprorerに関連付けられているファイルのプロパティウィンドウに表示されます。このウィンドウは、ファイルを右クリックしてからopenを選択すると、URIスキームが登録されたときにブラウザで表示されます。

これを行うには、アプリケーションをレジストリに登録する必要があります。インターネットを掘り起こした後、最終的にMSDNで見つかった追加のレジストリが変更されます。

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Applications\MyApplicationLauncher.bat] 
FriendlyAppName = "My Application" 
DefaultIcon = "<MyApplicationPath>\MyApplication.exe,1" 

なおlauncher.batまたはstart.batが衝突を引き起こすかもしれないようなアプリケーション名を使用しました。その一意性を証明するために、インストーラパッケージでその名前を変更して識別しなければなりませんでした。

1

まずあなたのタイプ名:

assoc .<ext> <anyName> 

をそして開くためのプログラムを設定します。

ftype <anyName>=<application-path> 

あなたの名前の角括弧内のすべての名前を置き換えます

<ext>:拡張子

<anyName>:名前、wあなたが使用するプログラムを知っているなら、あなたはassocを複数の異なる拡張子で複数回書くことができます。

<application-path>:それを開くプログラムのファイル名。掘りの数日後、私は解決策を見つけた

+0

ありがとう、それはそのまま動作しますが、それは私のためのmandarotyです – Caiwan

関連する問題