0

Send-Toエクスプローラーのコンテキストメニューにエントリを追加する必要があり、すべてのユーザーに対して追加する必要があるWindowsアプリケーションを作成しています。Send-Toフォルダーはユーザーごとに固有であり、すべてのユーザーに共通のフォルダーがないため、次の2つの選択肢があります。

すべてのユーザープロファイルとデフォルトのユーザープロファイルを確認し、SendToフォルダーを見つけて、それにショートカットを追加できます。これにより、アンインストール中にショートカットが確実に削除されます。

または、ユーザーがログインするたびにショートカットがSendToフォルダーにあることを確認できます(すべてのユーザーのスタートアップフォルダーにアプリケーションを追加することにより)。これにより、インストール中の作業が大幅に楽になりますが、アプリケーションをアンインストールしても、これらのショートカットがすべて削除されるわけではありません。

いずれにせよ、すべてのユーザーのSendToフォルダーを見つける方法が必要です。HKEY_USERSをスキャンして、各ユーザーのSendToフォルダーを見つけることができます(デフォルトの場所にない可能性があり、ユーザーはそれを移動できます)が、ユーザープロファイルのルートフォルダーを見つけるにはどうすればよいですか?レジストリには、SendToフォルダーの%USERPROFILE \ AppData \Roaming...のようなものがあります。別のユーザーの%USERPROFILE%を確認するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

0

MSI内にカスタムアクションを作成できます。これにより、すべてのユーザープロファイルが調べられ、SendToフォルダーからショートカットが削除されます。見つけることができるすべてのユーザープロファイル。Windows7(Vista)の%systemdrive%\ Usersフォルダー内のすべてのフォルダー、またはWindowsXPのドキュメントと設定をスキャンするだけです。

または、この目的でActiveSetupメカニズムを使用して、ユーザーが次回システムにログインするときに、SendToフォルダーからショートカットを削除するスクリプト(アプリケーション)を作成することもできます。

于 2012-09-04T12:23:17.290 に答える
0

より簡単なアプローチ:exe自体の起動シーケンスを使用して、起動時にショートカットが表示されるかどうかを確認し、表示されない場合は作成します。

すべてのユーザーのアンインストールは、マシンにログオンするユーザーごとに1回「実行可能なもの」を実行するActiveSetupを使用して処理するのが最適です。あなたの場合、単純なバッチコマンドでその仕事をすることができます。

このアンインストール方法を選択した場合は、msiインストーラーがこのアンインストールキーを確認し、インストール時に削除することを確認する必要があります。そうしないと、ユーザーが次にログオンしたときにショートカットに対して削除操作がスケジュールされます。

また、インストールごとにActiveSetupで異なるエントリを使用して、ショートカットの作成が既にアンインストールされているユーザーに対して再実行されるようにする必要があることにも注意してください。ActiveSetupの詳細を読む前に、この最後の部分は少し理解できないかもしれません:http ://www.etlengineering.com/installer/activesetup.txt

于 2012-09-06T00:50:15.520 に答える