Vs2005下制作自定义的安装程序(二)

下一步我们就需要编写自定义安装的代码了。这里也比较简单,只需要重写Install函数就可以了。

[RunInstaller(true)]

    public partial class MTUSMSInstaller : Installer

    {

        public MTUSMSInstaller()

        {

            InitializeComponent();

        }

        请注意下面的函数,该函数就是重写的函数。这里面我加入了一个函数                  InstallApplication()

        public override void Install(System.Collections.IDictionary stateSaver)

        {

            base.Install(stateSaver);

            InstallApplication();

     }

}

        private void InstallApplication()

        {

            //请注意下面的方法,这里就是完成注册Ocx组件的方法。在这里所有和注册有关的信息我都建立在一个RegisterInstallInfo类里。

            bool _Result=RegisterInstallInfo.RegisterOCXActivex(_TargetDir," SMSCommunication.OCX ");

        }

   public class RegisterInstallInfo

{

 

/// <summary>

        /// 注册Activex控件

        /// </summary>

        /// <param name="SMSOCXPath">这里是指组件的路径</param>

        /// <param name="ActivexName"></param>

        /// <returns></returns>

        public static bool RegisterOCXActivex(string SMSOCXPath,string ActivexName)

        {

            // SMSOCXPath路径就是安装好程序后,安装的程序的路径,该路径如何获得,我会在安装数据库文件里详细说明

            //把控件复制到System32

            bool _Result = false;

           //这里是判断是获得系统的System32的路径,需要把组件复制到里面去

            string _System32Path = GetSystem32Path();

            if (_System32Path != "")

            {

                try

                {

                    //注册短消息控件

                    string _AimPath = _System32Path +"//"+ActivexName;

                    File.Copy(SMSOCXPath + ActivexName, _AimPath,true);

                    Process MyProcess = new Process();

                    MyProcess.StartInfo.FileName = "Regsvr32.exe";

                    MyProcess.StartInfo.Arguments = String.Format("{0} /s", _AimPath);

                    MyProcess.Start();

                    MyProcess.WaitForExit();

                    MyProcess.Close();

                    _Result = true;

 

                }

                catch

                {

                    _Result = false;

                }

            }

            return _Result;

 

        }

}这样安装OCX组件的任务就完成了,不过这里还不能运行,还有其他工作没有做。请继续看下面的内容,所有内容阐述完后你就清楚了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值