.NET程序安装包制作

2024-04-24 02:08
文章标签 制作 net 程序安装

本文主要是介绍.NET程序安装包制作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

.NET程序安装包制作

一、新建项目->安装和部署项目->安装项目

二、选择安装文件
1、进入文件系统视图。方法为选定该项目,鼠标右键,弹出快捷菜单,选视图-文件系统。也可以直接点“解决方案资源管理器”上部的快捷图标。
2、在“应用程序文件夹”里添加程序需要用到的文件,例如EXE文件,配置文件,图标文件,等等。
3、用户的程序菜单创建一文件夹并命名文该文件夹,这个就是将来出现在用户程序开始菜单中的文件夹。注意如果该文件夹的名字与开始菜单中有重名,则新安装的程序菜单项会与现有菜单文件夹的挤在一块,如果子菜单项名字也一样,则会覆盖原有的。
4、创建EXE文件快捷方式,改成适当的名字,剪切粘贴到“用户的程序菜单/文件夹”和“用户桌面”。鼠标右键看属性,ICON,从“应用程序文件夹”中选好对应的图标文件。这样安装后,程序将会在程序组以及桌面显示快捷方式。
三、用户界面
   安装过程中,每个窗口上面会显示一幅图片。如果不指定,将会用默认图片代替。通常,应该用个性化的图片代替。同样,这张图片也应预先放在“应用程序文件夹”里。
1、 进入用户界面视图。方法为选定该项目,鼠标右键,弹出快捷菜单,选视图-用户界面
2、 将各个窗体的bannerBitmap改为个性化的图片。
四、项目属性(后面的文章会信息说明如何增加卸载程序)
   选定该项目,然后选菜单栏“视图”—“属性窗口”,将productname及title改为软件名称,它们在安装过程中会显示。注意,要用菜单栏中的 “视图”—“属性窗口”,如果直接用鼠标右键,出来的是一个似乎没用的属性窗口。拷贝productcode;切换到文件系统视图,选“用户的程序菜 单”,找到卸载文件unInstall.exe的快捷方式,鼠标右键看属性,在属性Arguments里粘贴刚才复制的productcode。 UnInstall.exe是自行编写的一个程序,它的main()函数支持参数。将安装软件的productcode传给它,以保证准确地将其卸载。
五、安装路径
    切换到文件系统视图,选“应用程序文件夹”,属性,将[ProgramFilesFolder][Manufacturer]/ [ProductName]中的[ProductName]改成打算安装后的文件夹名称,并且去掉[Manufacturer]。因为在前面已经将 ProductName改成了中文,为稳妥起见,避免安装后的文件夹为中文,在这里改回英文。
六、启动条件
1、.Net FrameWork
.Net 程序需要.Net框架支持。因此系统会自动将.NET作为启动条件。这个不用怎么修改。假如想安装包自带.NET框架,在目标机器没有安装.Net框架的 情况下自动安装,则需要在我们自己的机器上安装引导程序,然后再制作安装包,这样做好的包里,会自动有一份dotnetfx.exe文件。也可以将 dotnetfx.exe文件拷贝到指定目录,将.net framework启动条件的URL属性直接改成dotnetfx.exe文件名称,在编译生成时会自动将dotnetfx.exe拷贝到生成的安装包目 录中,并能在安装时发现在没有安装dotnetfx.exe时自动执行安装。有关引导程序的信息,如下:Visual Studio .NET 2003 中的 Setup 项目可以用来使 .NET 框架与应用程序一起安装,但必须首先在开发计算机上安装可选的 Visual Studio .NET 框架引导程序插件。注 Visual Studio .NET 框架引导程序插件可以从 Download Center下载。 Installing Localized Applications。  Visual Studio .NET 框架引导程序插件用于修改 Setup 项目的 Bootstrapper 属性的行为,以便包括 .NET 框架引导程序以及 Windows Installer 引导程序。然后,.NET 框架可重新分发软件包和适当的语言包将与应用程序一起打包;一个启动条件会在安装时检查是否有正确版本的 .NET 框架,如果需要,则在安装应用程序之前安装它。注 Visual Studio .NET 框架引导程序插件不会修改 Web 引导程序。将 Bootstrapper 属性设置为 Web Bootstrapper 将只安装 Windows Installer 引导程序。
    此外,如果应用程序需要进行数据访问,则可以与安装程序一起安装 Microsoft 数据访问组件 (MDAC)。
Visual Studio .NET 框架引导程序插件还支持安装 .NET 框架的本地化版本,这些本地化版本可以是 Visual Studio .NET 所支持的八种语言中的任意一种。对于您希望支持的每种语言,必须安装单独的插件版本;它们可以从与英语版本相同的位置下载。Setup 项目的 Localization 属性用于确定将被引导的框架的版本。有关详细信息,请参阅
2、MDAC
如果程序需要用到数据库,也要将MDAC作为启动条件。
1)在“搜索目标计算机”里添加“注册表搜索”,命名为搜索MDAC。
在属性窗口中,选择 RegKey 属性,并键入 Software/Microsoft/DataAccess。
选择 Root 属性,并选择 vsdrrHKLM。
选择 Value 属性,并键入 FullInstallVer。
选择 Property 属性,并键入 MDACSEARCH。
2)在启动条件中添加一条件,命名为“MDAC”
选择该条件,在属性窗口中,选择 Condition 属性,并选择 MDACSEARCH>="2.6"。也可以将其URL改为mdac_type.exe,可自行安装。
//****************************************************************

//***********************PART2***********************************
    VS2008打包过程。(项目名称为NotePad)

    1、在开发完成的项目工程(解决方案)中,文件-〉添加-〉新建项目,在添加新项目对话框中选择其他项目类型-安装和部署,在模板中选择安装项目并取名NotePad

    2、解决方案资源管理器中选择NotePad单击,从文件系统(NotePad)中的“目标计算机上的文件系统”选择"应用程序文件夹"单击右键,添加 “项目输出”,选择主输出,确定后即产生“主输出来自NotePad(活动)”的字样,同时具有相关的依赖项文件。

    3、按照需求添加用户的程序菜单和用户桌面快捷方式。

    在“主输出来自NotePad(活动)”单击右键,选择“创建 主输出来自NotePad(活动) 的快捷方式”,创建后,重命名为“NotePad”,然后拖动到“用户桌面”的文件夹下。这样的话,安装后,在用户桌面上就存在应用程序的快捷方式了。此 处可以同过快捷方式的属性来制定快捷方式的图标。

    创建 “用户的'程序'菜单”快捷方式,再重复上面的操作即可。将创建的快捷方式拖到“用户的'程序'菜单”文件夹下。

    4、一般开发软件都要有软件的卸载功能,这个可通过 Windows的msiexec.exe实现。选择NotePad项目,右键,选择“添加文件”,浏览到系统安装盘下的msiexec.exe,(一般路 径为 c:/windows/system32/msiexec.exe)此文件先复制出来再使用,不复制出来生成安装包的时候提示出错,添加到你的方案里面, 此刻该程序会在"应用程序文件夹"出现,右键,选择“创建msiexec.exe快捷方式”,命名为“卸载NotePad”,然后拖到“用户的'程序'菜 单”即可。最后要在该快捷方式的Arguments 属性里面写入“/x {ProductID}”,ProductID是你创建的项目的Product Code,主要不要有引号。此时,卸载功能完成,当然你也可以为卸载菜单指定一个个性图标。

    5、为了避免目标计算机没有程序运行需求的.net framework2.0,需要自己打包进去,在安装时自动检测是否需要安装。在菜单 "项目"--"Setup属性",在属性窗口你会看到一个"系统必备",点击进入,保证“创建用于安装系统必备组建的安装程序”被选,“.NET Framework2.0”被选,在“指定系统必备组件的安装位置”选择 第二项 "从与我的应用程序相同的位置下载系统必备组件",确定,确定。

    6、生成-〉生成Setup。

注意:为了方便程序快捷方式在用户的'程序'菜单有规则显示,一般要在“用户的'程序'菜单”文件夹建立一个和你的程序相关的文件夹如,NotePad,然后再将快捷方式和卸载菜单放进去。

1.将.NET Framework2.0文件添也加入安装部署项目
2.在"启动条件"里点".NET Framework",然后在右边属性的InstallUrl里填写dotnetfx/dotnetfx.exe
3.右键点所建的安装部署项目,在属性页的系统必备里选择"从与我的应用程序相同的位置下栽系统必须组件","启动条件"在右键点击

文件-〉追加-〉新项目
右键点生成的安装包项目,选择属性。点“必须的组件”,
选择
microsoft data access components 2.8
.net framework 2.0
crystal reports for .net framework.2.0
打上勾,并且下面的3个radiobutton选中间那个(同一场所download)

C:/ProgramFiles/MicrosoftVisualStudio 8/SDK/v2.0/BootStrapper/Packages/CrystalReports下面的CRRedist2005_x86.msi和 CRRedist2005_x86_cn.msi(或CRRedist2005_x86_jp.msi)。
下载个dotnetfx.exe,MDAC_TYP.EXE,把这些文件都包含进安装盘工程。

这样就可以做到这些效果。

这篇关于.NET程序安装包制作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930498

相关文章

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例