Ticket #38008

SSH URLへの関連付けへの問題

Open Date: 2018-03-06 17:40 Last Update: 2018-03-07 02:00

Reporter:
Owner:
(None)
Type:
Status:
Open
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

SSH URL への関連付けに関して、以下の二点に関して改善する。

  1. WinSCP の「環境設定」-「統合」-「URL アドレスに関連付ける」で“WinSCP を規定のアプリケーションとして登録”を行って、SSH URL を WinSCP に関連付けた状態だと、Tera Term のインストーラでの関連付けが行えない
  2. 上記状態では「コントロールパネル」の「規定のプログラム」-「既定のプログラムの設定」の“プログラム”に WinSCP が登録されるが、同様に Tera Term も登録されると設定変更がしやすく便利だと思われる。

方法等の詳細は要調査。

おそらく 2 を可能にすれば、1 も解決できそうに思う。

Attachment File List

No attachments

Ticket History (2/2 Histories)

2018-03-06 17:40 Updated by: doda
  • New Ticket "SSH URLへの関連付けへの問題" created
2018-03-07 02:00 Updated by: maya
  • Details Updated
Comment

WinSCP での登録部分(ソースコードより)

  • 登録 -> Setup.cpp RegisterForDefaultProtocols()
  • WinSCP を規定のアプリケーションとして登録 -> Setup.cpp LaunchAdvancedAssociationUI() -> RegisterForDefaultProtocols() も呼ばれる -> コントロールパネルを表示している
  • 登録解除 -> Setup.cpp UnregisterForProtocols()

WinSCP で規定のアプリケーションとして登録された状態(Windows 8.1 で動作確認)

「規定のアプリケーション」へのアプリケーションの登録

Software\RegisteredApplications
  WinSCP REG_SZ Software\Martin Prikryl\WinSCPCapabilities

アプリケーションがサポートするプロトコル

Software\Martin Prikryl\WinSCPCapabilities
  ApplicationDescription REG_SZ WinSCP は Windows 用として人気の無料 SFTP/FTP クライアントで、ローカルとリモート コンピューター間でファイルをコピーすることができます。FTPS、SCP、WebDAVもサポート。GUI による簡単な操作で様々なファイル操作をすることも、.NET 用ライブラリを使って強力に自動化することもできます。

Software\Martin Prikryl\WinSCPCapabilities\UrlAssociations
  dav   REG_SZ WinSCP.Url
  davs  REG_SZ WinSCP.Url
  ftp   REG_SZ WinSCP.Url
  ftpes REG_SZ WinSCP.Url
  ftps  REG_SZ WinSCP.Url
  s3    REG_SZ WinSCP.Url
  scp   REG_SZ WinSCP.Url
  sftp  REG_SZ WinSCP.Url
  ssh   REG_SZ WinSCP.Url

プロトコルの関連づけ↑からの呼び出し用

Software\Software\Classes\WinSCP.Url
  BrowserFlags REG_DWORD 0x8
  EditFlags    REG_DWORD 0x2
  URL Protocol REG_SZ

Software\Software\Classes\WinSCP.Url\shell\open\command
  @ REG_SZ "C:\Program Files (x86)\WinSCP\WinSCP.exe" /Unsafe "%1"
// BrowserFlags の有無以外は今の Tera Term インストーラでやっているのと同じ

各プロトコルの関連づけ

(*)dav, davs, ftp, ftpes, ftps, s3, scp, sftp, ssh 

Software\Software\Classes\(*それぞれ)
  BrowserFlags REG_DWORD 0x8
  EditFlags    REG_DWORD 0x2
  URL Protocol REG_SZ

Software\Software\Classes\(*それぞれ)\shell\open\command
  @ REG_SZ "C:\Program Files (x86)\WinSCP\WinSCP.exe" /Unsafe "%1"

WinSCP アンインストール時

  • 登録解除 のときの処理が走る
  • 各プロトコルの関連づけは解除される(Software\Software\Classes\WinSCP.Url\shell\open\command の中身は消えるが、その上は消えない)
  • Software\Martin Prikryl\WinSCPCapabilities\UrlAssociations\ssh だけが削除されない。Software\Martin Prikryl\WinSCPCapabilities が残っているし、Software\RegisteredApplications\WinSCP も残っているので、これが邪魔をしていると思われる。

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login