1、下载并安装  InstallShield

InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

 
InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET Framework进去)
本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23892

从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“InstallShield Limited Edition for Visual Studio”,注意这个版本是免费的,只需要邮件注册下,就会有要注册码。虽然不知道微软这是何用意,但是既然他叫我们用,那就去用吧。(其实,早在VS2010中,微软就把InstallShield Limited Edition for Visual Studio放在里面了,只是那个时候自家产品还在)。

由于InstallShield Limited Edition for Visual Studio的教程、资料太少,所以我今天才决定写这个文章,专门针对C#项目打包,包括打包集成Microsoft .NET Framework等。大家从官方下载的最新版InstallShield Limited Edition for Visual Studio,是支持VS2010、VS2012、VS2013的(小牛在WIN7、WIN8中安装正常,但是WIN8.1死活都安装不进去……)

如何下载注册:

http://go.microsoft.com/fwlink/?LinkID=239620&lang=1033&ver=ult

用你的邮箱注册,会免费发注册码的,不需要破解

具体步骤:

1、新建了一个基本的三层项目,用来测试打包

2、根据实际情况,填写程序基本信息

3、这一步非常重要,看上图 :

1)设置为简体中文,否则安装路径有中文的话就会出问题
2)设置默认安装路径
3)修改默认字体
4)每次升级,重新打包,只需要点击这一行右侧的“...”按钮,就会重新生成Code,安装时就会自动覆盖老版本

4、选择我要的.NET Framework 4.0

5、这里什么也不做

6、添加要打包的文件、程序

7、右键——属性(Properties)

8、非常重要:

1)如果你的是.NET项目程序DLL、EXE,那就按照默认的设置,不要去改,否则出错
2)如果你的是OCX或者ActiveX等需要注册的DLL,那么选择“Self-registration”

9、设置快捷方式

10、注册表配置:

1)打开这个

2)现在这个测试项目,不需要写注册表信息,所以我什么都不改。如果你的项目要写注册表,那就自己填。
 

11、安装访谈(安装界面对话框配置):

 
1)打开这个
2)我就不修改了,大家根据自己的需求调整。
3)如果要修改,点击这个

12、修改安装步骤、对话框、背景等

13、到这这一步,就剩下最重要的问题:如何把.NET Framework一起打包进程序去:

1)解决方案,点击“Specify Application Data”--双击“Redistributables”--勾选“Microsoft .NET Framework 4.0 Full”--勾选之后,它会自动联网下载,下载速度是比较慢的,下完之后,右侧就会变成“Installed Locally”
A).NET 4.0:如果大家嫌慢,那就去网上下载:dotNetFx40_Full_x86_x64.exe,然后放到这个路径:
C:\Program Files (x86)\InstallShield\2013LE\SetupPrerequisites\Microsoft .net\4.0\Full
这样的话就能节省很多时间了,不过除了这个,它还需要下载其他东西的,只是你可以节省这部分时间
 

B).NET 3.5 SP1:下载dotnetfx35.exe,然后放到这个路径:

C:\Program Files (x86)\InstallShield\2013LE\SetupPrerequisites\Microsoft .net\3.5 SP1\Full

14、最后的设置:

1)解决方案,点击“Prepare for Release”--双击“Releases”--点击选中“SingleImage”--选项卡点击“Setup.exe”--找到“InstallShield Prerequisites Location”,把它设置为“Extract From Setup.exe” 

15、打包完成了,运行效果如上图:

1)打包后的程序放在这个地方:XXX\Express\SingleImage\DiskImages\DISK1\setup.exe (70.9MB,比较大)

微软自带打包工具 InstallShield 的使用的更多相关文章

  1. 用InstallShield 打包工具 打 Win32 程序 (depends.exe 用看程序都依赖了哪些dll)

    InstallShield 打包工具 1. 转载:http://blog.csdn.net/zhang_xinxiu/article/details/9099757 2. 转载:http://www. ...

  2. 酷!微软发布新终端工具,Win 10 将自带 Linux 内核

    原创:技术最前线(id:TopITNews) 北京时间 5 月 7 日,2019 年微软 Build 开发者大会在雷德蒙德召开.今年大会上亮点很多,本文汇总一些和开发者相关的内容. 1. Window ...

  3. 如何创建一个带诊断工具的.NET镜像

    现阶段的问题 现在是云原生和容器化时代,.NET Core对于云原生来说有非常好的兼容和亲和性,dotnet社区以及微软为.NET Core提供了非常方便的镜像容器化方案.所以现在大多数的dotnet ...

  4. 模块化管理工具兼打包工具 webpack

    webpack 是一个[模块化管理工具]兼[打包工具] 是一个工具(和seajs,requirejs管理前端模块的方式是不一样) 在webpack一个文件就是一个模块! seajs,requirejs ...

  5. Winform打包工具SetupFactory 9 的使用

    写了个WinForm的小程序..以前没打过包..只是直接把Bin里的东西复制出来使用..自己使用是足够.但是发给别人毕竟不太好看(不牛逼)..所以就想着打包.. Vs2012自带的有打包的功能..相信 ...

  6. 把docker当做绿色打包工具

    如题,我只是把docker当成绿色版的各种环境的集成打包工具了 用到了docker的--net=host模式,这个暂时在mac下是有问题的,linux下正常使用,具体docker的网络模式参考这里,此 ...

  7. iOS 本地自动打包工具

    1.为什么要自动打包工具? 每修改一个问题,测试都让你打包一个上传fir , 你要clean -> 编译打包 -> 上传fir -> 通知测试.而且打包速度好慢,太浪费时间了.如果有 ...

  8. webpack模块化管理和打包工具

    Webpack简介 webpack是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源.还可以将按需加载的模块进行代码分隔,等到实际 需要的 ...

  9. 微软开源自动机器学习工具NNI安装与使用

    微软开源自动机器学习工具 – NNI安装与使用   在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到最佳模型的过程了.对于初学者来说,常常是无从下手.即使是对于有经验的算法工程师 ...

随机推荐

  1. 牛客 2020.10.20 TG 前两题

    T1 GCD 数学水题... 对于每个数,如果这个数有两个及以上的质因数的话,它所有除 \(1\) 之外的因数求 \(GCD\) 的值一定为 \(1\).那么判断是否是质数或质数的次方即可(质数除 \ ...

  2. Java基础教程——方法引用

    方法引用 Lambda表达式的代码,是否可以再简洁?--方法引用 对象/类名::方法名 参数都不用写明. import java.util.function.Consumer; public clas ...

  3. 盘点腾讯Linux、 C++后台开发面试题,做好充足准备,不怕被Pass

    一.C/C++   ​ const 多态 什么类不能被继承 二.网络   ​ 网络的字节序 网络知识 TCP三次握手 各种细节 timewait状态 TCP与UDP的区别 概念 适用范围 TCP四次挥 ...

  4. Java 安全之Java Agent

    Java 安全之Java Agent 0x00 前言 在前面发现很多技术都会去采用Java Agent该技术去做实现,比分说RASP和内存马(其中一种方式).包括IDEA的这些破解都是基于Java A ...

  5. Spring Cloud Alibaba 初体验(六) Seata 及结合 MyBatis 与 MyBatis-Plus 的使用

    一.下载与运行 本文使用 Seata 1.1.0:https://github.com/seata/seata/releases Windows 环境下双击 bin/seata-server.bat ...

  6. Tree--二叉树BinarySearchTree

    BinarySearchTreeMap的实现 1 public interface Map<K extends Comparable<K>, V> { 2 void put(K ...

  7. python核心高级学习总结2----------pdb的调试

    PDB调试 def getAverage(a,b): result =a+b print("result=%d"%result) return result a=100 b=200 ...

  8. 你说说对Java中SPI的理解吧

    前言 最近在面试的时候被问到SPI了,没回答上来,主要也是自己的原因,把自己给带沟里去了,因为讲到了类加载器的双亲委派模型,后面就被问到了有哪些是破坏了双亲委派模型的场景,然后我就说到了SPI,JND ...

  9. 第7.22节 Python中使用super调用父类的方法

    第7.22节 Python中使用super调用父类的方法 前面章节很多地方都引入了super方法,这个方法就是访问超类这个类对象的.由于super方法的特殊性,本节单独谈一谈super方法. 一.su ...

  10. Python匹配对象的groups、groupdict和group之间的关系

    匹配对象的groups()方法返回一个包含所有参与匹配的子组(不含组0)的匹配到的搜索文本子串的元组,groupdict返回一个包含所有匹配到的命名组的组名为键值和命名组匹配到的搜索文本子串为值作为元 ...