http://www.crifan.com/achieve_fixed_install_path_while_install_software_when_make_msi_installer/

制作C#的msi的Installer时候,固定安装路径,不需要用户选择路径

【问题】

在用VS2010给一个C#写的DLL插件制作msi的installer的时候,其中msi安装程序的安装路径是根据WLW的路径决定好了的,所以需要固定此安装路径,而且不需要,也不希望用户去更改。

即,如果制作出一个安装包,安装过程中,不需要,也不希望用户更改安装路径。

【解决过程】

1. 此问题百度了一番,没找到结果。

2.去google中搜对应的英文msi fixed install path,结果好像是一堆人提到用其他配置文件,还需要自己写对应的代码来实现对应的安装等等,很复杂的做法。不适用于我此处,所创建安装部署项目,此处只是简单的,使用对应的文件系统,注册表等,设置对应的值,添加对应的文件即可的那种。

3.一直没找到有效的办法。

最接近成功的一次,是上次发现了,原来在VS2010中,通过视图->编辑器,还可以打开“用户界面”的窗口的:

然后去用户界面中,倒腾了一番,也还是没找到如何设置的,只找到了每一步中,可以设置对应的bitmap,和我要的,如何固定安装路径,没关系。

4.后来某次折腾过程中,突然发现,好像是可以删除掉其中默认的“安装文件夹”这一步的,然后就去分别删除了两个模式下的安装文件夹:

就可以去项目->安装:

测试具体的安装效果了:

第一步是欢迎界面:

接着是确认的界面:

即,通过删除对应的“安装文件夹”的那一步骤后,就真正实现了,安装过程中,不需要,也不希望用户去更改安装路径的效果了。

最后是安装完成的界面:

5. 接着,发现对于确认安装这一步骤,也是可以去掉的,本来也没啥用。

所以又去删除对应的“确认安装”这一步:

然后再去测试一下,结果整个安装过程,就的确只剩,欢迎界面,和最后安全完毕的确认界面了,完全达到了预期的效果。

自定义cs程序安装界面的更多相关文章

  1. 以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转)

    以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转) ; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCU ...

  2. InstallShield自定义安装界面

    原文:InstallShield自定义安装界面 版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息. 前言: 对于一些InstallShield用户或企业,对于安装包界面除了 ...

  3. Wix 安装部署教程(三)自定义安装界面和行为

    接上一篇自定义安装界面,这篇继续探索,首先介绍下,Wix为我们定义了五种风格,每种风格的UI都是有一定顺序的.我们可以改变安装顺序,也可以完全自定义一个Dialog插入其中.比如Wix_Mondo 风 ...

  4. Inno Setup自定义安装界面脚本

    ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "RemoteCard&quo ...

  5. Wix 安装部署教程(九) --用WPF做安装界面

    经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎 ...

  6. BI如何实现用户身份集成自定义安全程序开发

    统一身份认证是整个 IT 架构的最基本的组成部分,而账号则是实现统一身份认证的基础.做好账号的规划和设计直接决定着企业整个信息系统建设的便利与难易程度,决定着系统能否足够敏捷和快速赋能,也决定了在数字 ...

  7. 在windowService用Process.Start()启动程序没有界面-记录

    1.在服务程序安装时编程实现,ProjectInstaller.cs   using System; using System.Collections; using System.Collection ...

  8. Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面

    在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果.另外ViewModel ...

  9. .Net 自定义应用程序配置

    .Net 自定义应用程序配置 引言 几乎所有的应用程序都离不开配置,有时候我们会将配置信息存在数据库中(例如大家可能常会见到名为Config这样的表):更多时候,我们会将配置写在Web.config或 ...

随机推荐

  1. C运算符(算数运算符)

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 1 //实列 2 3 ...

  2. 开源分享:谷歌大佬联合打造《高级Kotlin强化实战(附Demo)》

    Kotlin 以其简洁的特性而闻名,而在我们的实践中,更加简洁就意味着更加高效.事实上,在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升 ...

  3. mock请求时出现中文乱码的解决

    请求返回的乱码如图: 原mock代码如下 [ { "description":"这是我们的第一个mock例子", "request":{ & ...

  4. OceanBase三节点部署&&扩容

    OceanBase三节点部署&&扩容 环境信息搭建三节点(1-1-1)创建资源池和租户查看数据分布 环境信息 IP OB目录 端口 192.168.43.89 /data/observ ...

  5. [C++]-map和unordered_map

    转自:https://blog.csdn.net/BillCYJ/article/details/78985895 头文件不同 map: #include < map > unordere ...

  6. javaScript学习关于节点

    节点的常用属性和方法: 个人理解,对于节点来说,他就是html里面的标签对象. 通过具体的元素节点调用: getElementsByTagName()方法,获取当前节点的指定标签名孩子节点 appen ...

  7. Spring Cloud Alibaba - Feign

    Feign Feign简介 使用Feign实现消费者客户端 使用Feign+Ribbon实现客户端负载均衡 底层的负载均衡策略还是使用Ribbon通过Feign进行调用 Feign的相关配置 ribb ...

  8. A Telnet Client Using Expect

    The following expect script achieves a simple telnet client: login -> send command -> exit. Th ...

  9. ACL的配置

    一.实验拓扑 实验要求: 二.实验编址 三.实验步骤: 1.启动设备(全选) 2.配置端口IP R1: R2: R3: R4: 2.搭建OSPF网络: R1: R2: R3: R4: 4.配置ACL控 ...

  10. python初始化定义空变量-小记

    python初始化定义空变量 数值 digital_value = 0 字符串 str_value = "" 列表 list_value = [] 字典 ditc_value = ...