ここにディレクトリのタイトルを書きます
Microsoft Visual Studio インストーラー プロジェクトをインストールする
ソリューションを選択し、Visual Studio インターフェイスの上部にあるメニュー バーに移動し、[拡張機能] -> [拡張機能の管理] -> [オンライン] の順に選択し、右側の検索バーに「セットアップ」と入力してプロジェクトを検索し、Microsoft Visual Studio インストーラー プロジェクト 2022 をインストールします。 。
インストールプロジェクトの作成
次に、ソリューションを右クリックし、新しいプロジェクトを作成し、セットアップを検索し、[セットアップ プロジェクト] を選択して次にこのプロジェクトを作成します。
インストール プロジェクトを右クリックし、[表示] -> [ファイル システム] -> [アプリケーション フォルダー] を選択して、そのリリース バージョンをコピーします。ファイルをリリースするプログラムにコピーし、この欄に貼り付けるだけです。
インストーラーファイルのセットアップ
プログラムのデスクトップアイコンを設定する
「ユーザーのデスクトップ」を選択し、右クリック→「新しいショートカットの作成」を選択し、アプリケーションフォルダー内のexeを選択して「OK」をクリックします。
プログラムのインストーラー名を設定します
この名前は、コントロール パネル – プログラムと機能 – に表示される名前です。インストール プロジェクトを選択し、F4 を押してプロパティ ウィンドウを表示します。
- ProductName: プログラムのインストール名を設定します。
- 作成者: プログラムの発行者 (通常は会社名) を設定します。
- TargetPlatform: ソフトウェア ターゲット プラットフォーム x86 または x64 を指定します。
- バージョン: リリースのバージョン番号
インストーラークラスの使い方
ソリューションを右クリックし、コンソール アプリケーション ProjectStepOperate を作成し、プロジェクト名をカスタマイズしてから、コンソール アプリケーション プロジェクトを右クリックし、新しい項目を作成し、インストーラー クラス Installer1.cs を選択します。この ProjectStepOperate プロジェクトは、プロジェクト選択オペレータ インストールプロジェクトで、表示→カスタム操作を選択すると、以下のインターフェースが表示されます ProjectStepOperate プロジェクトを生成し、インストールのオペレーティングプログラムとして bin/release/ 配下の exe を選択します アンインストールも同様ですちなみに、Installer1.cs はインストール中に呼び出されます。
インストーラー1.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