2016-10-12 20 views
4

私は現在、プログラムの開始時にファイルの関連付けを行っています。しかし、これはアクセスの増加が必要です。スクリプトファイルを関連付けるので、私はユーザーのセキュリティを損なう可能性がある何か間違ったことをしているように感じます。ファイルの関連付けを行う正しい方法は何ですか?セットアップを通して?プログラムを通して?後者の場合、プログラムを介して悪質なスクリプトが実行されないようにするにはどうすればよいですか?ファイルの関連付けを行う責任は誰にありますか?

+5

私は、まずユーザーにUIを(ほとんどのプログラムがインストールするときと同じように)尋ねて、仰角を尋ねるべきだと思います。プログラム自体には、ユーザーが必要と感じたときにそれをやり直すことができるメニューもあります。 –

+2

これは調べる価値があるかもしれません:http://stackoverflow.com/questions/9705188/programmatically-add-file-association-without-admin-rights-in-c-sharp – FishySwede

+0

ユーザーごとの関連付けを登録できます仰角を必要としない。システム全体の関連付けは通常、インストーラに登録されます。 –

答えて

1

仰角を必要としないユーザー単位の関連付けを登録できます。
システム全体の関連付けは、通常、インストーラに登録されます。

システム全体の関連付けはHKLM\Software\Classesに格納されます。
ユーザー単位の関連付けはHKCU\Software\Classesに格納されます。

前者は管理者だけが書き込み可能で、後者は通常ユーザー1が書き込み可能です。

これらのキーの内容は、HKEY_CLASSES_ROOTにマージされます。あなたのデフォルト設定を変更するときには別のユーザーがファイルを開くために別のアプリケーションを使用できるように、唯一のユーザごとの関連付けが変更されます。


これはある程度、既定のプログラムがどのように動作するか、です¹しました。

詳細については、File Types and File AssociationsおよびDefault Programsを参照してください。

関連する問題