• .NET : 自定义安装服务


    今天处理了这样一个事情,我们希望给用户安装的程序满足如下几个要求

    1. 安装步骤尽量简单,最好一步到位,不需要用户按部就班地做那些选择

    2. 安装程序要检测用户是否安装.NET Framework 2.0,如果没有,则自动安装。而且最好不要去微软网站临时下载。

    3. 安装程序最好不能在“添加/删除程序”面板中删除

    为了实现这三个目的,下面来看看我是如何解决的

    1. 要简化安装步骤其实不难,就是在“用户界面编辑器”中将不需要的窗口删除掉即可

    image

    2. 安装检测.NET Framework,这本来也不难,但关键在于如何不去网站下载呢?

    在安装程序的属性对话框中,点击“系统必备”

    image

    image

    注意:这里应该选择“从与我的应用程序相同的位置下载系统必备组件”

    生成之后,就可以看到如下一个特殊文件夹

    image

    把这个与我们的msi打包在一起即可。

    3. 如何让用户无法删除程序呢?我找了一下注册表,发现有些不能删除的程序都有一个特殊的键值NoRemove。于是乎在我们的安装程序中添加了一个注册表值

    image

    安装好之后,注意我们这个安装程序是没有卸载操作的

    image

    4. 最后补充一个,如果我们希望在安装程序运行完成之后,打开我们的一个网站,应该如何实现呢

    其实这个也不难,我们可以在自定义安装类中,添加一句代码

            public override void Commit(IDictionary savedState)
            {
                base.Commit(savedState);
    
                Process.Start("http://www.xizhang.com");
            }
    

    image

  • 相关阅读:
    kubeadm init 时从本地私有仓库下载镜像
    Kubernetes 1.6新特性
    kukubeadm 1.6.1 + docker1.2.6 安装问题
    nginx 配置
    使用nginx替换Ingress
    Docker存储方式选型建议
    iptables相关
    kubenetes master使用curl 操作API
    kubernetes 一些基本的概念
    Codeforces Round #161 (Div. 2) D. Cycle in Graph(无向图中找指定长度的简单环)
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1630707.html
Copyright © 2020-2023  润新知