여기에 디렉토리 제목을 쓰세요
Microsoft Visual Studio 설치 프로그램 프로젝트 설치
솔루션을 선택하고 Visual Studio 인터페이스 상단의 메뉴 바로 이동하여 확장 -> 확장 관리 -> 온라인, 오른쪽 검색 표시줄에 setup을 입력하고 프로젝트를 검색한 후 Microsoft Visual Studio Installer Projects 2022를 설치합니다. .
설치 프로젝트 생성
그런 다음 솔루션을 마우스 오른쪽 버튼으로 클릭하고 새 프로젝트를 생성하고 설정을 검색하고 설치 프로젝트를 선택하여 다음으로 이 프로젝트를 생성합니다.
설치 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 보기–>파일 시스템–>응용 프로그램 폴더를 선택하고 해당 릴리스 버전을 복사합니다. 출시할 프로그램에 파일을 복사해 이 열에 붙여넣으면 됩니다.
설치 프로그램 파일
프로그램 바탕 화면 아이콘 설정
사용자 데스크톱을 선택한 다음 마우스 오른쪽 버튼을 클릭하고 -> 새 바로가기 만들기를 선택한 다음 응용 프로그램 폴더에서 exe를 선택하고 확인을 클릭합니다.
프로그램의 설치 프로그램 이름 설정
이 이름은 제어판 – 프로그램 및 기능 –에 표시되는 이름입니다. 설치 프로젝트를 선택하고 F4 키를 누르면 속성 창이 나타납니다.
- ProductName : 프로그램 설치 이름을 설정합니다.
- 작성자: 프로그램 게시자를 설정합니다. 일반적으로 회사 이름입니다.
- TargetPlatform: 소프트웨어 대상 플랫폼 x86 또는 x64를 지정합니다.
- 버전: 릴리스 버전 번호
설치 프로그램 클래스를 사용하는 방법
솔루션을 마우스 오른쪽 버튼으로 클릭하고 콘솔 애플리케이션 ProjectStepOperate를 생성하고 프로젝트 이름을 사용자 정의한 다음 콘솔 애플리케이션 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새 항목을 생성한 다음 설치 프로그램 클래스 Installer1.cs를 선택합니다. 이 ProjectStepOperate 프로젝트는 프로젝트 선택 연산자 설치 프로젝트에서 View->Custom 작업을 선택하면 다음과 같은 인터페이스가 나타납니다 ProjectStepOperate 프로젝트를 생성한 후 Install의 운영 프로그램으로 bin/release/에서 exe를 선택합니다. Uninstall도 동일합니다. 방법으로, Installer1.cs는 설치 중에 호출됩니다.
Installer1.cs
인스톨러 클래스에서는 OnAfterInstall 메소드로 레지스트리 생성 항목을 작성할 수 있으며,
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Whl.Tool;
namespace ProjectStepOperate
{
/// <summary>
/// 安装控制
/// </summary>
/// 创建时间:2023-7-7 16:56:50,
[RunInstaller(true)]
public partial class Installer1 : System.Configuration.Install.Installer
{
public Installer1()
{
InitializeComponent();
}
protected override void OnBeforeInstall(IDictionary savedState)
{
//File.WriteAllText("c://Installer1.txt", "安装前执行," + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
RegeditWrite.AddLog("安装前执行OnBeforeInstall");
string dir = "c://zyt_bluetooth_service";
if (!System.IO.Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
RegeditWrite.AddLog(dir + "安装目录创建成功");
}
//base.OnBeforeInstall(savedState);
}
protected override void OnAfterInstall(IDictionary savedState)
{
//File.WriteAllText("c://Installer2.txt", "安装之后执行," + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
RegeditWrite.AddLog("安装之后执行OnAfterInstall");
//写入注册表
RegeditWrite.WriteExeRunAgreement();
}
}
}
사용자 정의 설치 단계
사용자 인터페이스에서 "설치 폴더"를 삭제하면 사용자가 설치 디렉터리를 선택하지 못하게 할 수 있습니다.
설치 시 사용자가 설치 경로를 선택할 수 없도록 설치 프로그램 경로를 사용자 정의하세요.
응용 프로그램 폴더의 속성을 마우스 오른쪽 버튼으로 클릭하고 DefaultLocation 값을 수정합니다(예: C:\zyt_bluetooth_service로 변경합니다. 프로그램은
이 경로에 설치됩니다. 설치->시작을 통해 사용자 인터페이스에서 설치 폴더를 삭제할 수 있습니다). —> 설치 폴더를 삭제한 후에는 사용자 설치 인터페이스에서 더 이상 설치 디렉터리를 선택할 수 없으며 프로그램은 C:\zyt_bluetooth_service 세트에 자동으로 설치됩니다.
설치 패키지 생성
설치 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "재생성"을 클릭하면 프로젝트 폴더에 설치 패키지가 자동으로 생성됩니다. xxxx.msi 파일을 두 번 클릭하여 설치할 수 있습니다.
참고기사
https://zhuanlan.zhihu.com/p/622419157?utm_id=0
https://blog.csdn.net/qq_39727831/article/details/124421534