3

私は自分のプログラムを自分自身で更新したいと思います (ftp から新しい exe やその他のファイルをダウンロードします) 。この質問に対する受け入れられた回答でレシピを使用しました。要約:

  1. 実行中のプログラムの名前を old-mp.exe に変更します
  2. 更新プログラムを mp.exe として直接ダウンロードします
  3. プログラムを再起動します

これは、Windows XP でうまく機能します。Vista では、これが機能するにはユーザーが管理者としてプログラムを実行する必要があるため、問題があります。右クリックして「管理者として実行」を選択すると、ユーザーの頭がいっぱいになる可能性があります...誰かがこれを回避する方法を知っていますか? シンプルな更新方法がとても気に入っています。

4

1 に答える 1

2

簡単なオプションは、アプリケーションに管理者権限が必要であることを指定するマニフェストを含めることです。その後、Vista は自動的に権利の昇格を要求します。マニフェストは次のようになります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
   <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="ApplicationName" type="win32"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
      <security>
         <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator"/> 
         </requestedPrivileges>
      </security>
   </trustInfo>
</assembly>

mt.exe ツールを使用して、既存のアプリケーションに追加できます。

または、実際の更新の直前に管理者権限でプログラムを再起動することもできます。そうすれば、ユーザーは常に管理者権限で実行する必要がなくなります - 更新時だけです。

于 2009-01-09T11:54:53.937 に答える