저도 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!