0

更新されたファイルのセット(DLL、javascript)をパッチリリースとしてさまざまなバージョン(vista / XP / 7など)の複数のWindowsPCに定期的に配布する必要があります。現在、各ユーザーのWebサイトに、setup.exeファイルをダウンロードし、パッチを手動でインストールするためのリンクがあります(既存のDLLを置き換えます)。手動プロセスを排除するために、Windows(これはサービスを意味すると思います)でプログラムを自動的に実行する方法を研究しています。このプログラムは、サーバーの更新を定期的にチェックし、ダウンロードして、setup.exe(またはいくつか)を自動的にトリガーします。パッチファイルを置き換えるための同様のプロセス)。

私はそれ自体はWindows開発者ではありませんが、Sparkle、DDay、CSAutoUpdater、Npackdなどのさまざまなオプションをダウンロードしてチェックしようとしましたが、ほとんどの場合、チェックすることを前提としています。 Windowsアプリケーションがライブラリ/コンポーネントを使用して開始されたときに発生します。更新しようとしているアプリとは別に自動アップデーターを実行する必要があります-そのため、最初にすべてのユーザーにsetup.exeを実行させる必要があります。これにより、Windowsサービスをインストールして開始し、Windowsで毎日実行してアップデートを確認、ダウンロード、インストールするプログラム。

私はstackoverflow、codeprojectでWindowsサービスを書くためのサンプルコードをいくつか見つけましたが、それを自動インストールする方法を見つけることができませんでした(理想的には新しいWindowsバージョンのUACの手間はありません)。サービスをインストールして開始するには、instalutilまたはその他の手動プロセスを使用する必要があります。

これに関するガイダンスは素晴らしいでしょう!ありがとう-そして長い質問に謝罪します。他の製品を試してみると、追加の結果で更新されます。

4

3 に答える 3

1

Npackdについておっしゃったように、これを使用してこれを行う方法について説明したいと思います。

最も簡単な解決策は、Windowsスケジューラを使用してタスクを作成することであるというselbieに同意します。

Npackdの場合、独自のリポジトリが必要になります。たとえば、http://www.yourserver.com/rep.xmlのようにHTTP経由でアクセスできるXMLファイルです。リポジトリの簡単な例を次に示します:https ://gist.github.com/raw/4132983/dabecde48c796d4fdfa2f645bb744ac58640572c/TestRepository.xml 。ユーザーはNpackd(http://code.google.com/p/windows-package-manager/downloads/list)をダウンロードし、リポジトリのリストにURLを追加します。

2つのパッケージを定義します。1つはプログラム自体用で、もう1つは自動アップデーター用です。このようにして、誰かがプログラムを手動で更新したい場合、彼もこれを行うことができます。

すべてのWindowsシステムで使用可能なコマンドラインツールschtasks.exeを使用して、Windowsタスクを作成または削除できます。

更新コマンド自体も非常に簡単です。

npackdcl update --package=<package>
于 2013-01-15T18:39:51.297 に答える
0

手動プロセスを排除するために、Windows(これはサービスを意味すると思います)でプログラムを自動的に実行する方法を研究しています。このプログラムは、サーバーの更新を定期的にチェックし、ダウンロードして、setup.exe(またはいくつか)を自動的にトリガーします。パッチファイルを置き換えるための同様のプロセス)。

ステートメントの「定期的な」部分には、Windowsタスクスケジューラサービスが必要になる可能性があります。これを使用して、実際に「更新の確認」、ダウンロード、コピーなどを実行するために必要なコードを起動します。Windowsサービスは必要ないと思います。

タスクスケジューライベントをスクリプト化できる可能性があります。または、 APIを使用してよりプログラム的に実行します。

于 2013-01-15T07:26:10.303 に答える
0

次のように実行できます。

  1. DB内のdll、exeなどのバージョンを維持します。
  2. アプリケーションを起動する前に、インストールされているバージョンのバージョンとDB内のバージョンを確認してください。
  3. バージョンが異なる場合は、サーバーから最新バージョンに更新するようにユーザーに依頼してください。

  4. 彼が[はい]をクリックした場合。サーバーからファイルを更新します。

プラサド。

于 2013-06-27T14:57:37.723 に答える