ホームページ >バックエンド開発 >C#.Net チュートリアル >C#Winformプログラムの自動アップデートの実装方法を詳しく解説(画像)

C#Winformプログラムの自動アップデートの実装方法を詳しく解説(画像)

黄舟
黄舟オリジナル
2017-03-22 11:33:112894ブラウズ

Winform プログラムの自動更新も初めてで、ネットで自動更新のソースコードを見つけて、ネットで見たいくつかの方法を参考に自分で長い間試しましたが、結局はダメでした。間違いを犯したので、お金をかけて他の人に手伝ってもらいました。 デバッグは成功しました。間違いがあれば、修正してください。 Winform プログラムの自動更新を実行しました。自動更新のソース コードをオンラインで見つけて、それを基にインターネットで見たいくつかの方法を長い間試しましたが、最終的にはまだ間違いがありました。以下は私が自分で作ったもので、間違いがあれば修正してください。

1.サーバーの IIS を介して更新する前に、プログラムを IIS サーバーのディレクトリに手動でコピーし、クライアントが自動的に正常に更新できるようにいくつかの変更を加えます。したがって、最初のステップは、IIS サーバーに慣れていないことです (私のシステムは Windows 8):

上記の方法に従い、選択後に [OK] をクリックすると、システムがこれらのコンテンツを自動的に追加し、次に:

ウェブサイトが確立されたら、更新する必要がある書き込まれたファイルを、選択した物理パスに対応するファイルディレクトリに配置すればOKです。

2. Web サイトが確立されたら、次のステップはそれを更新する方法を見つけることです。つまり、サーバーからクライアントにファイルを更新します。具体的なプロセスと中心的な考え方については、ここでは詳しく説明しません。 . オンラインにはたくさんあります。

3. 自動ソース コードのダウンロード アドレスが見つかりません。必要な場合は、メールを残してください。

4. 自動ソース コード

クラス ライブラリ

を生成し、

このクラスを参照します。メイン プログラムのライブラリ に、下の図の 2 つのファイルとメイン プログラムを同じフォルダーに置きます:

5. メイン プログラムを呼び出すときは、ログイン フォームの前に置きます。プログラムを更新する必要があるかどうかを制御する方法がないため、データベースに 2 つのフィールドを含むテーブルを作成するプロセスを作成する必要があります

上に示すように、新しいフィールドは保存するものです最新バージョン、Old は 1 つ前のバージョンを保存します。

using Mulaolao.Forms;
using Mulaolao.Procedure;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using Mulaolao.Other;
using System.Threading;
using StudentMgr;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

namespace Mulaolao
{
 static class Program
 {
  //private static Mutex mutex;
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main( )
  {
   Application.EnableVisualStyles( );
   Application.SetCompatibleTextRenderingDefault( false );
   //读取表
   DataTable da = SqlHelper.ExecuteDataTable( "SELECT * FROM R_UpdateforOrder" );
   string news = "", old = "";
   //如果表中没有任何数据,则直接登录,不用更新
    if (da.Rows.Count < 1)
   {
    //设置登录成功之后关闭登录窗体 显示主窗体
    Login lg = new Login( );
    lg.StartPosition = FormStartPosition.CenterScreen;
    lg.ShowDialog( );
    if (lg.DialogResult == DialogResult.OK)
    {
     Application.Run( new Form1( ) );
    }
    else
    {
     return;
    }
   }
   else
   {
    //如果表中的新版本和老版本一致,也不需要更新
     news = da.Rows[0]["New"].ToString( );
    old = da.Rows[0]["Old"].ToString( );
    if (news == old)
    {
     //设置登录成功之后关闭登录窗体 显示主窗体
     Login lg = new Login( );
     lg.StartPosition = FormStartPosition.CenterScreen;
     lg.ShowDialog( );
     if (lg.DialogResult == DialogResult.OK)
     {
      Application.Run( new Form1( ) );
     }
     else
     {
      return;
     }
    }
    else
    {
     //如果表中的新版本和老版本不一致 则需要把老版本更新成新版本 同时启动自动更新窗口
      SqlHelper.ExecuteNonQuery( "UPDATE R_UpdateforOrder SET Old=@Old", new SqlParameter( "@Old", news ) );
     System.Diagnostics.Process.Start( Application.StartupPath + @"\AutoUpdate.exe" );
    }
   }
   
  }
 }
}

次のステップに進むだけで、完了後に更新されたメインプログラムが自動的に起動します。

6. UpdateList.xml の主なパラメーターについて説明します。

以下は、バージョン更新ファイル (テーブルの新しいフィールド) を更新するために作成したプログラムです。 3 番目の写真のフォルダーで、サーバーを更新する前に毎回次のプログラムを実行して、データベースの最新バージョンを更新します。

上記の内容は、私がお金をかけて実行したそれほど高度ではない方法です。どうしようもありません。最近この業界に参入したのは誰ですか? 経験に基づいて、私自身が高度なことを思いつくことができないので、皆さんのタイムリーな修正を歓迎します。実際、主な手順は次のとおりです。 まず、IIS サーバーを確立します --> 新しい Web サイトを作成します --> メイン プログラム ファイル、更新ファイル、およびバージョン更新を同じフォルダーに置きます --> メイン プログラムは、更新プログラム (主に自動更新をいつ実行するかを判断するため) --> 自動更新ファイルのパラメータを設定 --> データベースにバージョン比較テーブルを構築 -->をクリックし、自動更新 XML ファイルの内容を変更します。バージョン更新を実行します -->クライアントが自動的に更新するまで待ちます

以上がC#Winformプログラムの自動アップデートの実装方法を詳しく解説(画像)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。