`
gowithbutton
  • 浏览: 42731 次
社区版块
存档分类
最新评论
阅读更多

    <div class="text1">把.NET程序部署到没有安装.NET Framwork的机器上 <br><br>本文来自MSDN,作者张广辉。<br>

<br><hr color="#cccccc" size="1">
<div class="text2">摘要
<div class="text4">
<div class="text4">本文讨论了如何使用Windows Installer技术发布.NET程序,以及如何使用native代码判断目标机器上是否安装有.NET Framework; 如果没有,将自动安装.NET Framework然后安装作者自己的.NET程序。
<hr color="#cccccc" size="1">
<div class="text2">目录
<div class="text4">
<ul class="list1">
<li class="list2">
<b></b>本文内容
</li>
<li class="list2">
<b></b>制作自己的安装程序
</li>
<li class="list2">
<b></b>发布.NET Framework
</li>
<li class="list2">
<b></b>制作自己的native安装程序
</li>
<li class="list2">
<b></b>使用方法
</li>
<li class="list2">
<b></b>总结
</li>
<li class="list2">
<b></b>作者</li>
</ul>
<hr color="#cccccc" size="1">
<div class="text2">本文内容
<div class="text4">
<div class="text4">1. 使用VS.NET来制作安装程序。
<div class="text4">2. 如何把.NET Framework 部署到目标机器。
<div class="text4">3. 如何使用Native代码把.NET Framework和自己的安装程序制作为一个统一的安装程序。该程序做到如果目标机器上没有.NET Framework,将自动安装.NET Framework然后再自动安装作者自己的程序。
<hr color="#cccccc" size="1">
<div class="text2">制作自己的安装程序
<div class="text4">
<div class="text4">在VS.NET中,我们可以通过建立"Setup and Deployment Projects"项目,非常灵活方便的把自己的.NET程序制作为Windows Installer文件。比如,我们可以很方便的定制下面这些选项:
<div class="text4">1. 是否在桌面上放置快捷方式。
<div class="text4">2. 注册自己的文件类型,可以通过双击该文件来使用自己的程序打开。
<div class="text4">3. 注册表的处理
<div class="text4">在下面的MSDN站点,我们可以获得在VS.NET中通过Setup and Deployment Projects来制作自己的安装程序的示例:
<div class="text4">http://msdn.microsoft.com.sixxs.org/library/en-us/vsintro7/html/vbconDeploymentScenarios.asp
<hr color="#cccccc" size="1">
<div class="text2">发布.NET Framework
<div class="text4">
<div class="text4">.NET Framework 1.0提供一个用来重新部署.NET的exe文件:Dotnetfx.exe. 它包含了Common Language Runtime和其它.NET程序运行时必不可少的内容。
<div class="text4">我们可以从下面的站点下载该exe文件:
<div class="text4">http://msdn.microsoft.com.sixxs.org/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml
<div class="text4">同时,我们也可以在VS.NET安装CD或者DVD中找到该文件。
<div class="text4">我们可以通过多种方式来通过运行Dotnetfx.exe把.NET Framework部署到目标机器上:
<div class="text4">1. 通过Microsoft Systems Management Server部署。
<div class="text4">2. 通过Active Directory部署。
<div class="text4">3. 使用第三方工具。
<div class="text4">具体的信息,我们可以参阅下面的文章:
<div class="text4">http://msdn.microsoft.com.sixxs.org/library/en-us/dnnetdep/html/redistdeploy.asp
<hr color="#cccccc" size="1">
<div class="text2">制作自己的native安装程序
<div class="text4">
<div class="text4">如果我们要把自己的.NET程序发布到目标机器上,同时我们不确定该目标机器是否已经安装了.NET Framework, 那我们就需要自己设计一段unmanaged代码,来判断目标机器是否安装了.NET Framework, 如果没有,则运行Dotnetfx.exe安装.NET Framework, 然后利用Windows Installer安装自己的程序。
<div class="text4">在MSDN的下面网页上,我们可以获得一个使用unmanaged C++实现的安装程序和它的源代码:
<div class="text4">http://msdn.microsoft.com.sixxs.org/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
<div class="text4">1. 在CSettings class中,通过读取"settings.ini",获得您自己的MSI安装文件和dotnetfx.exe的路径,以及其他您自己的设置。(比如.NET Framework的语言版本)
<div class="text4">GetCaptionText(void)
<div class="text4">GetDialogText(void)
<div class="text4">GetErrorCaptionText(void)
<div class="text4">GetIniName(void)
<div class="text4">GetProductName(void)
<div class="text4">
<div class="text4">Parse()函数用来解析settings.ini文件。
<div class="text4">2. 在Main.cpp文件中,全局函数FxInstallRequired()判断是否要在目标机器上安装.NET Framework. FxInstallRequired()会检测下面的注册表键值和dotnetfx.exe的版本和语言设置。
<div class="text4">HKLM/SOFTWARE/Microsoft/.NETFramework/policy/v1.0
<div class="text4">3.如果需要安装.NET Framework, 在全局函数ExecCmd()中调用下面的命令silent安装dotnetfx.exe:
<div class="text4">dotnetfx.exe /q:a /c:"install /l /q"
<div class="text4">4。 在ExecCmd()全局函数中调用下面的命令安装您自己的MSI文件:
<div class="text4">msiexec /i <your MSI file> REBOOT=ReallySuppress
<hr color="#cccccc" size="1">
<div class="text2">使用方法
<div class="text4">
<div class="text4">如果我们使用上面的native代码作为自己的安装程序,那么我们可以通过下面的步骤把自己的.NET程序和它结合在一起:
<div class="text4">1.把您自己的.NET程序制作成为Windows Installer (.MSI)文件。
<div class="text4">2.打开"settings.ini"文件,在"Msi" key中设置您自己的.NET程序的MSI文件路径和文件名;在"FxInstallerPath" Key中,设置dotnetfx.exe的路径。具体的参数信息,您可以从下面文章中得到:
<div class="text4">http://msdn.microsoft.com.sixxs.org/library/default.asp?url=/library/en-us/dnnetdep/html/redistdeploy.asp
<div class="text4">3. 把"setup.exe", "settings.ini", "dotnetfx.exe"和您自己的MSI安装文件,发送到目标机器上,然后运行"setup.exe", 安装程序会自动检测是否有.NET Framwork, 如果没有,将首先运行dotnetfx.exe。
<div class="text4">通过上述步骤,您可以将自己的.NET程序成功的部署到没有安装.NET Framwork环境的机器上。
<hr color="#cccccc" size="1">
<div class="text2">总结
<div class="text4">
<div class="text4">通过上述步骤,您可以将自己的.NET程序成功的部署到没有安装.NET Framwork环境的机器上。
<hr color="#cccccc" size="1">
<div class="text2">作者 张广辉
 
0
0
分享到:
评论

相关推荐

    怎样将.Net程序部署到没有安装.Net Framwork的机器上?

    面对对.Net平台开发出来的程序,它的运行对系统环境要求有点高,需要.Net Framework的支持,所以首先面对的问题是怎样将.Net Framework1.1或2.0安装在一台没有以前没有装过的机子上。以下是我在打包过程中需要解决的...

    .NET Framework 2.0

    重要事项:不能在同一台计算机上安装两种不同语言版本的 .NET Framework。试图安装第二种语言版本的 .NET Framework 时,将会导致出现以下错误:“安装程序无法安装 Microsoft .NET Framework,因为已经安装了该产品...

    Microsoft .NET Framework 2.0 版 可再发行组件包

    重要事项:不能在同一台计算机上安装两种不同语言版本的 .NET Framework。试图安装第二种语言版本的 .NET Framework 时,将会导致出现以下错误:“安装程序无法安装 Microsoft .NET Framework,因为已经安装了该产品...

    .net 4.5部署到docker容器的完整步骤

    本文主要给大家介绍了关于.net 4.5部署到docker容器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 .net4.5部署到docker容器 部署到windows容器 部署到linux容器 部署到windows...

    如何部署.NET Compact Framework2.0 应用程序到Windows Mobile(制作CAB文件).

    教你如何将.net CF2一起安装到PPC .NET Compact Framework2.0 应用程序到Windows Mobile(制作CAB文件).

    DonetUpgrade1.13 .net 部署工具

    可实现.net 开发的网站或应用程序的增量部署,每次部署后点击记录部署,下次部署时只发布本次部署后的文件,配合FTP工具上传网站很方便,再也不用发愁每次修改后不知上传哪些更新过的文件,从而不是多余覆盖就是漏传...

    基于C#的.NET Framework程序设计

    基于C#的.NET Framework程序设计。 第1章 Microsoft .NET Framework概述 第2章 托管执行环境的介绍 第3章 使用组件 第4章 部署与版本控制 第5章 通用类型系统 第6章 类型的使用 第7章 字符串、数组和集合 第8章 ...

    Windows服务器.Net应用程序部署手册(SQL版本).docx

    windows服务器上,安装IIS,FrameWork4.5及SQL Server 2012的安装过程图解。

    win7下安装IIS7.0及部署VS2010 ASP.NET程序网站的相关问题

    第一步:控制面板》程序》打开或关闭Windows功能, 我把能选的都选上了。 第二步:计算机》管理》服务和应用程序》Internet信息服务(IIS)管理器 第三步:新建一个网站,将网站的物理路径指定到刚才的那个web项目,...

    .NET Framework 4.0

    .NET Framework 4是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件..NET Framework 旨在实现下列目标: *提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地...

    ASP.net从入门到实践

    .NET Framework是一个支持构建、部署和运行下一代应用程序和Web服务的完整Windows组件。ASP.NET是.NET Framework的一部分。它是一个统一的Web开发模型,包括创建企业级Web应用程序的所必需的各种服务。本章将讲解ASP...

    Microsoft .NET Framework v3.5 简体中文版.zip

    Microsoft.NET Framework 3.5是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件。 net framework 3.5下载版旨在实现下列目标: *提供一个一致的面向对象的编程环境,而无论对象代码是在本地...

    .NET Core 跨平台实战(含源码).pdf

    更棒的是.NET Core 在发布程序时不用事先安装Framework而是通过Nuget下载,这样在初次部署时就不用安装一个复杂而庞大Framework,而是按需下载。这种基于Nuget的按需加载铸就.NET Core 跨平台。

    NET Framework 2.0 (手机模拟器软件环境)

    软件:在 Windows Server 2000 SP4 上,在安装 .NET Framework 2.0 Service Pack 2 之前,安装 KB 835732。 处理器:400 MHz Pentium 处理器或与之相当的处理器(最低);1GHz Pentium 处理器或与之相当的处理器...

    基于C#的 .NET Framework程序设计ppt

    第1章 Microsoft .NET Framework概述 第2章 托管执行环境的介绍 第3章 使用组件 第4章 部署与版本控制 第5章 通用类型系统 第6章 类型的使用 第7章 字符串、数组和集合 第8章 委托和事件 第9章 内存和资源管理 ...

    asp.net知识库

    将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 ASP.NET 2.0 中的数据源控件 使用 ASP.NET 2.0 ObjectDataSource 控件 ASP.NET 2.0 的内部变化 使用SQL Cache Dependency 代替 ...

    Windows10系统下安装 NET Framework 软件开发工具包 (SDK) 2.0 版的方法

    Windows10系统下安装Microsoft .NET Framework 软件开发工具包 (SDK) 2.0 版的详细安装方法,软件开发工具包 (SDK) 2.0 包括了开发人员在 x86 平台上编写、生成、测试和部署 .NET Framework 应用程序所需的工具、...

    面向.NET的WEB应用程序设计课件

    第15章 配置、优化和部署 Microsoft ASP.NET Web 应用程序 第16章 Web 安全性介绍 第17章 Web 应用程序安全性规划 第18章 验证用户输入 第19章 Internet 信息服务身份验证 第20章 保护 Web 页面安全 第21章 保护文件...

    .Net平台开源工作流XBPM V2.0

    XBPM服务器需安装 .NET Framework3.0,可独立部署; XBPM客户端支持.Net Framework 所有版本,可嵌入.Net各类应用程序并支持分布式部署; 提供Winform的流程设计及视图组件;提供Web, Wpf流程视图组件,可无缝衔接到...

Global site tag (gtag.js) - Google Analytics