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. Bugku-login1(SKCTF)(SQL约束攻击)

    原因 sql语句中insert和select对长度和空格的处理方式差异造成漏洞. select对参数后面的空格的处理方式是删除,insert只是取规定的最大长度的字符串. 逻辑 1.用 select ...

  2. C++ //构造函数调用规则 //1.创建一个类,C++编译器会给每个类添加至少3个函数 //默认构造(空实现) //析构函数(空实现) //拷贝函数(值拷贝) //2.如果我们写了有参构造函数 编译器就不会提供默认构造函数 但是会提供拷贝构造函数 //3.如果我们写了拷贝函数 编译器就不再提供 默认 有参 构造函数

    //构造函数调用规则 #include <iostream> using namespace std; //1.创建一个类,C++编译器会给每个类添加至少3个函数 //默认构造(空实现) ...

  3. 化学专业大二转战Android开发,终于拥有了鹅厂暑期实习offer

    我是双非学校,应用化学专业,一年前我大二,现在我大三.一年前我两手空空,现在我拥有了鹅厂暑期实习的offer. 虽然结果是好的,但我春招实习的道路远没有这么简单和辉煌,它是无比坎坷的:每个人应该量力而 ...

  4. Golang语言系列-10-包

    包 自定义包 package _0calc import ( "fmt" ) /* [Go语言的包] 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基 ...

  5. Go连接到Linux服务器进行操作-执行shell命令&&上传文件

    Go连接到Linux服务器进行操作 使用密码连接Linux服务器 package main import ( "fmt" "golang.org/x/crypto/ssh ...

  6. SpringBoot 整合 SpringSecurity 梳理

    文档 Spring Security Reference SpringBoot+SpringSecurity+jwt整合及初体验 JSON Web Token 入门教程 - 阮一峰 JWT 官网 Sp ...

  7. Intellj IDEA 光标显示insert状态解决办法

    使用idea过程中,不知道怎么回事,鼠标的光标老是insert状态,体验效果极其差劲,于是去百度,扒拉了好一阵,过滤了垃圾博客,发现了有两种方法可以解决此问题: 第一种方法: 在File------& ...

  8. 关于Junit中Assert已经过时

    在junit4.12之后,Assert就过时了,提供了TestCase来取代: 同样在TestCase中原本比较常见的一些方法也已经取消了,例如:assertNotEquals.assertThat. ...

  9. 我对数据库关系代数中减法sql实现的思考:mysql脚本

    一.创建数据库,创建表结构 CREATE DATABASE Test_sub DEFAULT CHARACTER SET utf8; USE Test_sub; CREATE TABLE studen ...

  10. Hibernate之持久化对象

    时间:2017-1-19 23:00 --Hibernate持久化类的状态1.持久化类:就是一个实体类与数据库建立了映射.2.Hibernate为了方便管理持久化类,将持久化类分为了三种状态:    ...