誰かが Windows にログインするたびに起動するように、セットアップ プロジェクトが追加された Windows アプリケーションを強制的にインストールするにはどうすればよいですか?
編集: レジストリ設定は認識していますが、具体的には、インストーラーがレジストリ値を設定できるようにするソリューションを探しています。
誰かが Windows にログインするたびに起動するように、セットアップ プロジェクトが追加された Windows アプリケーションを強制的にインストールするにはどうすればよいですか?
編集: レジストリ設定は認識していますが、具体的には、インストーラーがレジストリ値を設定できるようにするソリューションを探しています。
レジストリを開き、キーを見つけます
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run].
開始するプログラムごとに、わかりやすい名前を使用して新しい文字列値を自動的に作成し、文字列の値をプログラム実行可能ファイルに設定します。
たとえば、メモ帳を自動的に起動するには、次の新しいエントリを追加します。
"Notepad"="c:\windows\notepad.exe".
スタートアップ アプリケーションを削除する プログラムを削除しようとして、スタートアップ フォルダ (通常は ) に見つからない場合は、C:\WINDOWS\Start Menu\Programs\StartUp
以下のレジストリ キーのいずれかから起動している可能性があります。削除するには、削除するプログラムに関連付けられている値を削除します。
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
誰かがログインしたときではなく、Windows の起動時にアプリケーションを起動する必要がある場合は、アプリケーションをサービスとして作成し、インストール時にサービスを「自動」に設定する必要があります。
これに関する情報を提供する Web 上の多くの場所があります。
私が見つけた最初の 3 つですが、いくつかの調査を行って、自分に合ったリソースを見つけてください。
アップデート
更新された質問から、誰かがログインしたときにプログラムが実行されることが要件であるため、この回答は(ある程度)冗長であることがわかります。ただし、誰かがサービスルートに移動したい場合に備えて、ここに残します。
スタートアップ フォルダーに winforms プログラムへのショートカットを追加できます。セットアップ プロジェクトのファイル システムを確認する必要があります。
技術的には、「windows が開始された」ときに WinForms アプリを開始することはできません。ただし、誰かが Windows にログインしたときに開始できます。それを実行するには、次の 3 つのいずれかを行います。
更新: Chris が指摘しているように、私は HKCU パスを見逃していました。
Windowsが起動するたびに実行するには、プログラムを Windows サービスとしてビルドする (またはサービスから起動する) 必要があります。