1

ソフトウェアのインストール中に、次の再起動後にいくつかのコードを実行する必要があります。これを行うために、次のレジストリ キーの下に EXE へのリンクを配置しています。

Software\Microsoft\Windows\CurrentVersion\RunOnce

私の質問は、EXE 自体をどこに置くべきかということです。実行後にEXEは必要なく、インストーラーはProgram Filesの下にフォルダーを作成しません。%TEMP% の下に置いても安全でしょうか? 残念ながら、Windows が再起動するまでに %TEMP% が消去され、EXE が削除される可能性があります。Program Files の下にフォルダーを作成してそこに置くことはできますが、一度実行した後はそのフォルダーが永久にそこに残ります。

推奨される動作はありますか?

4

2 に答える 2

1

一般的なインストーラーがこれを行う方法を確認するか (installshield?)、ファイルを %APPDATA% に配置するなどの簡単な解決策を選択できます。

もちろん、最良の選択は、再起動する必要がないか、少なくとも再起動後にもう一度実行する必要がないインストーラーを作成することです。;-)

于 2011-02-12T14:43:27.923 に答える
1

推奨される動作を求めているので、そもそも再起動と再起動後のexeを避けるようにしてください。リファクタリングについてアドバイスできるように情報を共有できますか?

これはユーザーごとに 1 回実行する必要がありますか、それとも合計で 1 回だけ実行する必要がありますか? (あなたは HKEY_CURRENT_USER または HKEY_LOCAL_MACHINE を述べていませんでした)

一度だけの場合、次のユーザーが管理者権限を持つことをどうやって知ることができますか? ユーザーごとに 1 回の場合、EXE を長期間使用し続けて、ある日にログインした人が確実に使用できるようにしたいと思いませんか?

いずれにせよ、このパターンを実現するためにアプリケーションの設計を変更することになるとしても、このパターンを使用せずに必要なことを行う方法を見つけることをお勧めします。

于 2011-02-12T18:27:40.417 に答える