• 大小: 1.02MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: C#
  • 标签:

资源简介

C#写的自定义安装包,打包程序源代码,之前用的打包程序都是VS自带的或者是第三方的打包程序,虽然提供了很多自定义的操作和界面,但始终想自己研究下原理,然后自己就用C#写了一个安装包。 该安装包安装之后会在开始菜单和桌面创建快捷方式,系统的添加删除程序项,系统服务项,并释放几个测试程序。 卸载的时候会一并 清理干净,不会留下任何残留项。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;
using System.Threading;
using Microsoft.Win32;
using System.ServiceProcess;
using System.Diagnostics;

namespace Installation
{
    public partial class FrmInstallation : Form
    {
        /// 
        /// 可填充区域,用户可根据实际安装需求更改此项
        /// 

        public string strCompanyNameEnglish = “XYBarcode“;
        public string strProductNameEnglish = “MESBarcodeServer“;
        public string strServiceNameEnglish = “MES Barcode Server“;
        public string strCompanyURL = “http://www.xybarcode.com“;

        /// 
        /// 程序变量,请勿更改
        /// 

        private string strInstallationPath = ““;
        private bool bExpansion = false bDesktoplink = true bStartMenulink = true bStartBarlink = true bUserExperience = true;
        private int iFormSizeHeightNor = 360 iFormSizeHeightExp = 470;
        private string strResult = ““;
        private FolderBrowserDialog fbd = new FolderBrowserDialog();

        #region 拖动无边框窗体
        [DllImport(“user32.dll“)]
        public static extern bool ReleaseCapture();//改变窗体大小
        [DllImport(“user32.dll“)]
        public static extern bool SendMessage(IntPtr hwnd int wMsg int wParam int lParam);//发送windows消息
        #endregion

        #region 窗体边框阴影效果变量申明
        const int CS_DropSHADOW = 0x20000;
        const int GCL_style = (-26);
        //声明Win32 API
        [DllImport(“user32.dll“ CharSet = CharSet.Auto)]
        public static extern int SetClassLong(IntPtr hwnd int nIndex int dwNewLong);
        [DllImport(“user32.dll“ CharSet = CharSet.Auto)]
        public static extern int GetClassLong(IntPtr hwnd int nIndex);
        #endregion

        public FrmInstallation()
        {
            InitializeComponent();
            fbd.RootFolder = System.Environment.SpecialFolder.Desktop;
            fbd.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
            fbd.ShowNewFolderButton = true;
            txtPath.Text = fbd.SelectedPath + “\\“ + strCompanyNameEnglish + “\\“ + strProductNameEnglish;

            SetClassLong(this.Handle GCL_style GetClassLong(this.Handle GCL_style) | CS_DropSHADOW); //API函数加载,实现窗体边框阴影效果
            lblMaintitle.Text = Application.ProductName;
            this.Text = Application.ProductName + “安装程序“;
            this.Icon = Installation.Properties.Resources.Installation;
            lblCompanyName.Text = Application.CompanyName;
        }

        private void FrmMain_Load(object sender EventArgs e)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(ShowMain) null);
        }

        private void ShowMain(object obj)
        {
            while (this.Opacity!=1)
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-06-27 11:46  Installation\
     目录           0  2013-05-06 10:29  Installation\bin\
     目录           0  2013-07-09 21:47  Installation\bin\Debug\
     文件     1643008  2013-07-09 21:47  Installation\bin\Debug\Installation.exe
     文件       79360  2013-07-09 21:47  Installation\bin\Debug\Installation.pdb
     目录           0  2013-05-06 10:29  Installation\Common\
     文件        9876  2013-05-06 10:29  Installation\Common\Shortcut.cs
     文件       26524  2013-05-06 10:36  Installation\FrmInstallation.cs
     文件       29151  2013-05-06 10:29  Installation\FrmInstallation.Designer.cs
     文件        5814  2013-01-27 11:17  Installation\FrmInstallation.resx
     文件        5344  2013-05-06 10:29  Installation\FrmMsg.cs
     文件        8510  2013-05-06 10:29  Installation\FrmMsg.Designer.cs
     文件        5814  2013-01-26 14:00  Installation\FrmMsg.resx
     文件        8366  2013-05-06 10:29  Installation\Installation.csproj
     文件         488  2013-01-27 14:04  Installation\Installation.csproj.user
     文件      309830  2013-01-25 11:13  Installation\Installation.ico
     目录           0  2013-06-27 11:46  Installation\obj\
     目录           0  2013-08-03 09:52  Installation\obj\Debug\
     文件         962  2013-07-09 21:47  Installation\obj\Debug\Installation.csproj.FileListAbsolute.txt
     文件        1187  2013-07-09 21:47  Installation\obj\Debug\Installation.csproj.GenerateResource.Cache
     文件     1643008  2013-07-09 21:47  Installation\obj\Debug\Installation.exe
     文件         180  2013-07-09 21:47  Installation\obj\Debug\Installation.FrmInstallation.resources
     文件         180  2013-07-09 21:47  Installation\obj\Debug\Installation.FrmMsg.resources
     文件       79360  2013-07-09 21:47  Installation\obj\Debug\Installation.pdb
     文件      865650  2013-07-09 21:47  Installation\obj\Debug\Installation.Properties.InstallFiles.resources
     文件      424057  2013-07-09 21:47  Installation\obj\Debug\Installation.Properties.Resources.resources
     目录           0  2013-08-03 09:52  Installation\obj\Debug\Refactor\
     目录           0  2013-06-27 11:46  Installation\obj\Debug\TempPE\
     文件        2137  2013-05-06 10:29  Installation\Program.cs
     目录           0  2013-07-09 21:47  Installation\Properties\
     文件        1444  2013-07-09 21:47  Installation\Properties\AssemblyInfo.cs
............此处省略102个文件信息

评论

共有 条评论

相关资源