c\#Winform 프로그램 자동 업데이트 실현 방법

Winform 프로그램 이 자동 으로 업 데 이 트 된 것 도 처음 입 니 다.인터넷 에서 자동 으로 업 데 이 트 된 소스 코드 를 찾 았 습 니 다.나중에 인터넷 에서 본 방법 에 따라 자신 이 오랫동안 시 도 했 지만 결국은 잘못 썼 습 니 다.그래서 돈 을 써 서 다른 사람 에 게 디 버 깅 에 성공 하도록 했 습 니 다.다음은 제 가 직접 만 든 것 입 니 다.여러분 들 이 참고 할 수 있 도록 해 드 리 겠 습 니 다.만약 에 잘못된 부분 이 있 으 면 지적 해 주 십시오.
1.저 는 서버 의 IIS 를 통 해 자동 업 데 이 트 를 발 표 했 기 때문에 업 데 이 트 를 하기 전에 수 동 으로 IIS 서버 의 디 렉 터 리 아래 에 프로그램 을 복사 하고 변경 을 해 야 클 라 이언 트 가 정상적으로 자동 으로 업 데 이 트 를 할 수 있 습 니 다.그래서 첫 번 째 단 계 는 익 지 않 은 IIS 서버(본인 시스템 windows 8)입 니 다.

위의 방식 에 따라 선택 한 후에 확인 하면 시스템 은 자동 으로 이러한 내용 을 추가 합 니 다.그리고:

웹 사이트 가 만들어 진 후에 업데이트 할 파일 을 선택 한 물리 적 경로 에 대응 하 는 파일 디 렉 터 리 아래 에 넣 으 면 OK 입 니 다.
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 의 주요 매개 변 수 를 말 합 니 다.

다음은 제 가 쓴 업데이트 버 전(표 의 New 필드)프로그램 입 니 다.클 라 이언 트,세 번 째 그림 의 버 전 업데이트 폴 더 에 넣 고 서버 를 업데이트 하기 전에 이 프로그램 을 실행 하여 데이터베이스 최신 버 전 을 업데이트 합 니 다.

이상 의 내용 은 바로 제 가 돈 을 써 서 고생 시 킨 그다지 선진 적 이지 않 은 방법 입 니 다.어 쩔 수 없습니다.누가 자신 을 입사 한 지 얼마 되 지 않 았 고 경험 이 없 으 며 자신 도 선진 적 인 것 을 할 수 없습니다.여러분 이 제때에 지적 해 주신 것 을 환영 합 니 다.사실 주요 절차:먼저 IIS 서버 를 만 듭 니 다-->새 사이트-->메 인 프로그램 파일 을 업데이트 합 니 다.버 전 업 데 이 트 는 같은 폴 더 아래 에 놓 여 있 습 니 다.

좋은 웹페이지 즐겨찾기