>백엔드 개발 >C#.Net 튜토리얼 >c#Winform 프로그램 자동 업데이트 구현 방법에 대한 자세한 설명(그림)

c#Winform 프로그램 자동 업데이트 구현 방법에 대한 자세한 설명(그림)

黄舟
黄舟원래의
2017-03-22 11:33:112886검색

저도 Winform 프로그램 자동 업데이트를 처음 해봤습니다. 자동 업데이트 소스 코드를 온라인에서 찾았고, 인터넷에서 본 몇 가지 방법을 토대로 직접 시도해 보았습니다. 아직도 실수가 있어서 다른 사람들에게 해달라고 돈을 썼습니다. 도와주세요디버깅성공했습니다. 다음은 모두가 배울 수 있도록 만든 것입니다. 실수가 있으면 수정해 주세요

.

윈폼 프로그램 자동업데이트를 처음 해봤는데요. 자동업데이트 소스코드를 얻어서 인터넷에서 본 몇 가지 방법을 토대로 한참을 해봤는데요. 결국 나는 여전히 실수를 저질렀기 때문에 다른 사람들에게 성공적으로 디버깅할 수 있도록 도와달라고 요청했습니다. 다음은 모두가 배울 수 있도록 제가 직접 만든 것입니다. 실수가 있으면 수정해 주세요. 🎜>

1. 서버의 IIS를 통해 자동 업데이트를 게시하기 때문에 업데이트하기 전에 수동으로 프로그램을 IIS 서버의 디렉터리에 복사하고 클라이언트에 일부 변경을 적용하여 정상적으로 자동 업데이트합니다. 따라서 첫 번째 단계는 IIS 서버에 익숙하지 않은 것입니다(제 시스템은 Windows 8입니다).

위 방법에 따라 선택하고 확인을 클릭하면 시스템이 자동으로 추가합니다.

웹사이트가 구축된 후 업데이트해야 하는 작성된 파일을 선택한 실제 경로에 해당하는 파일 디렉터리에 넣습니다.

2. 웹사이트가 구축된 후 다음 단계는 업데이트 방법을 찾는 것입니다. 즉, 구체적인 프로세스와 중심 아이디어는 서버에서 클라이언트로 업데이트됩니다. 온라인에는 많은 내용이 있습니다.

3. 자동 소스코드 다운로드 주소를 찾을 수 없습니다. 필요하신 분은 이메일을 남겨주시면 다시 보내드리겠습니다.

4. 🎜>클래스 라이브러리

, 그런 다음 기본 프로그램 에서 클래스 라이브러리를 참조하고 아래 그림의 두 파일을 기본 프로그램과 동일한 폴더에 넣습니다.

5. 메인 프로그램 호출 시, 프로그램 업데이트 여부를 제어할 수 없기 때문에 로그인 폼 앞에 넣습니다. 위와 같이

두 개의 필드를 포함하여 데이터베이스에 테이블을 생성하는 것이며, New 필드는 최신 버전을 저장하는 것이고 Old 필드는 이전 버전.

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의 주요 매개변수에 대해 이야기해 보겠습니다.

다음은 제가 작성한 업데이트 버전(표의 새 필드) 프로그램입니다. . 클라이언트의 세 번째 그림에 있는 버전 업데이트 폴더에 배치하세요. 서버를 업데이트하기 전에 매번 이 프로그램을 실행하여 최신 버전의 데이터베이스를 업데이트하세요. 위의 내용은 별로 진보되지 않은 방법을 생각해내기 위해 많은 돈을 썼지만, 최근에야 업계에 들어와서 경험이 거의 없어 고급 방법을 생각해 낼 수 없다는 것입니다. . 모든 분들의 시기적절한 수정을 환영합니다. 실제로 주요 단계는 다음과 같습니다. 먼저 IIS 서버를 구축합니다.-> 새 웹사이트를 만듭니다.-> 기본 프로그램 파일, 업데이트 파일 및 버전 업데이트를 동일한 폴더에 넣습니다. 업데이트 프로그램(주로 자동 업데이트 수행 시기 판단)--> 자동 업데이트 파일에 매개변수 구성--> 데이터베이스에 버전 비교 테이블 구축--> 자동 업데이트 xml 파일의 내용을 수정합니다. 버전 업데이트 실행 -->클라이언트가 자동으로 업데이트될 때까지 기다리세요

위 내용은 c#Winform 프로그램 자동 업데이트 구현 방법에 대한 자세한 설명(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.