ソフトウェアの更新には、更新レベルとさまざまな更新ソースを備えたVB6更新プログラムを使用しました。必要なファイルを更新元からローカルの宛先(C:\ programfiles \ company \ product)にコピーしました。
VB6プログラムは、サービスとしてサービスヘルパー(srvanyなど)を使用してのみ実行でき、指定されたフォルダー内の新しいファイルを変更または追加するための十分な権限がありません。ただし、.NETプログラムでさえ、サービスに管理者クレデンシャルを設定した場合にのみ、それを実行するために必要な権限がありません。
クライアントが管理者の資格情報を使用してサービスを設定しない場合、サービスまたはサービスによって呼び出されるプログラムを使用して、指定されたフォルダー内のファイルを変更するにはどうすればよいですか。つまり、クライアントに管理者権限があります。
指定された更新レベル(異なるプログラムおよびレポートバージョンを持つ異なるユーザー)のため、MSI/MSPは使用できません。
昇格を使用してC#.NETサービスから外部プログラムを呼び出そうとしましたが、方法はありません...マニフェストファイルを使用していくつかのヒントやコツを確認したり、管理者権限を持つ可能性のあるCOMオブジェクトを作成することを考えましたが、これは間違ったやり方。
もう1つの可能性は、「最高の特権」を与えることによってスケジュールされたタスクを作成することです。しかし、それは機能しますか?ログイン後にタスクを実行する必要があり、さまざまなユーザーがこのコンピューターを使用できる場合は、ユーザーごとにタスクを定義する必要があります...クライアントコンピューターでの各ログインは頻繁に変更されるため、わかりません。
誰か助けてもらえますか?