社区
.NET Framework
帖子详情
C#程序移植是否需要安装.net框架
anya
2003-09-03 03:08:03
用C#在*.net环境下开发的一个系统,如果从一台服务器A(安装有ASP.net完全开发工具)移植到另一台服务器B(注:这台服务器完全没有ASP.net的环境和框架)上,采用完全拷贝的方法,把所有文件拷到服务器B的wwwroot目录下,除了要装IE6以外,其他关于.net的环境是否可以不做安装,在线等候,谢谢。
...全文
110
10
打赏
收藏
C#程序移植是否需要安装.net框架
用C#在*.net环境下开发的一个系统,如果从一台服务器A(安装有ASP.net完全开发工具)移植到另一台服务器B(注:这台服务器完全没有ASP.net的环境和框架)上,采用完全拷贝的方法,把所有文件拷到服务器B的wwwroot目录下,除了要装IE6以外,其他关于.net的环境是否可以不做安装,在线等候,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
witzgf2
2003-09-03
打赏
举报
回复
Win2003不需要
witzgf2
2003-09-03
打赏
举报
回复
把.NET程序部署到没有安装.NET Framwork的机器上
摘要
本文讨论了如何使用Windows Installer技术发布.NET程序,以及如何使用native代码判断目标机器上是否安装有.NET Framework; 如果没有,将自动安装.NET Framework然后安装作者自己的.NET程序。
目录
• 本文内容
• 制作自己的安装程序
• 发布.NET Framework
• 制作自己的native安装程序
• 使用方法
• 总结
• 作者
本文内容
1. 使用VS.NET来制作安装程序。
2. 如何把.NET Framework 部署到目标机器。
3. 如何使用Native代码把.NET Framework和自己的安装程序制作为一个统一的安装程序。该程序做到如果目标机器上没有.NET Framework,将自动安装.NET Framework然后再自动安装作者自己的程序。
制作自己的安装程序
在VS.NET中,我们可以通过建立"Setup and Deployment Projects"项目,非常灵活方便的把自己的.NET程序制作为Windows Installer文件。比如,我们可以很方便的定制下面这些选项:
1. 是否在桌面上放置快捷方式。
2. 注册自己的文件类型,可以通过双击该文件来使用自己的程序打开。
3. 注册表的处理
在下面的MSDN站点,我们可以获得在VS.NET中通过Setup and Deployment Projects来制作自己的安装程序的示例:
http://msdn.microsoft.com/library/en-us/vsintro7/html/vbconDeploymentScenarios.asp
发布.NET Framework
.NET Framework 1.0提供一个用来重新部署.NET的exe文件:Dotnetfx.exe. 它包含了Common Language Runtime和其它.NET程序运行时必不可少的内容。
我们可以从下面的站点下载该exe文件:
http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml
同时,我们也可以在VS.NET安装CD或者DVD中找到该文件。
我们可以通过多种方式来通过运行Dotnetfx.exe把.NET Framework部署到目标机器上:
1. 通过Microsoft Systems Management Server部署。
2. 通过Active Directory部署。
3. 使用第三方工具。
具体的信息,我们可以参阅下面的文章:
http://msdn.microsoft.com/library/en-us/dnnetdep/html/redistdeploy.asp
制作自己的native安装程序
如果我们要把自己的.NET程序发布到目标机器上,同时我们不确定该目标机器是否已经安装了.NET Framework, 那我们就需要自己设计一段unmanaged代码,来判断目标机器是否安装了.NET Framework, 如果没有,则运行Dotnetfx.exe安装.NET Framework, 然后利用Windows Installer安装自己的程序。
在MSDN的下面网页上,我们可以获得一个使用unmanaged C++实现的安装程序和它的源代码:
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
1. 在CSettings class中,通过读取"settings.ini",获得您自己的MSI安装文件和dotnetfx.exe的路径,以及其他您自己的设置。(比如.NET Framework的语言版本)
GetCaptionText(void)
GetDialogText(void)
GetErrorCaptionText(void)
GetIniName(void)
GetProductName(void)
Parse()函数用来解析settings.ini文件。
2. 在Main.cpp文件中,全局函数FxInstallRequired()判断是否要在目标机器上安装.NET Framework. FxInstallRequired()会检测下面的注册表键值和dotnetfx.exe的版本和语言设置。
HKLM\SOFTWARE\Microsoft\.NETFramework\policy\v1.0
3.如果需要安装.NET Framework, 在全局函数ExecCmd()中调用下面的命令silent安装dotnetfx.exe:
dotnetfx.exe /q:a /c:"install /l /q"
4。 在ExecCmd()全局函数中调用下面的命令安装您自己的MSI文件:
msiexec /i <your MSI file> REBOOT=ReallySuppress
使用方法
如果我们使用上面的native代码作为自己的安装程序,那么我们可以通过下面的步骤把自己的.NET程序和它结合在一起:
1.把您自己的.NET程序制作成为Windows Installer (.MSI)文件。
2.打开"settings.ini"文件,在"Msi" key中设置您自己的.NET程序的MSI文件路径和文件名;在"FxInstallerPath" Key中,设置dotnetfx.exe的路径。具体的参数信息,您可以从下面文章中得到:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/redistdeploy.asp
3. 把"setup.exe", "settings.ini", "dotnetfx.exe"和您自己的MSI安装文件,发送到目标机器上,然后运行"setup.exe", 安装程序会自动检测是否有.NET Framwork, 如果没有,将首先运行dotnetfx.exe。
通过上述步骤,您可以将自己的.NET程序成功的部署到没有安装.NET Framwork环境的机器上。
总结
通过上述步骤,您可以将自己的.NET程序成功的部署到没有安装.NET Framwork环境的机器上。
anya
2003-09-03
打赏
举报
回复
就是说我只用烤第5张盘就搞定了是吗?谢谢
anya
2003-09-03
打赏
举报
回复
找到了, 是不是 5#\dotNetFramework\dotnetfx.exe 路径啊
zxg4
2003-09-03
打赏
举报
回复
你可以在第五张盘里找到.net framework的安装文件的
BeyondLove2000
2003-09-03
打赏
举报
回复
也可以吧,然后自己选按照哪些东西
anya
2003-09-03
打赏
举报
回复
“需要安装.net framework,即.net的运行支持文件”这是不是说要装第5张碟啊?但是每次装第5张碟时,系统都自动提示从第1张碟开始装,这样对吗?我只是装个框架而已
lyrixliu
2003-09-03
打赏
举报
回复
需要安装.net framework,即.net的运行支持文件
anya
2003-09-03
打赏
举报
回复
谢谢楼上,可以说的更具体点吗?
BeyondLove2000
2003-09-03
打赏
举报
回复
只要运行时即可!
asp
.net
知识库
.Net
框架
下的XSLT转换技术简介 一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0...
GeographicLib
.NET
:用纯C#编写的GeographicLib的本机
.NET
实现
与NETGeographicLib有什么不同与原始的NETGeographicLib不同,GeographicLib
.NET
是在纯C#中实现的,而无需通过使用C ++ / CLI或P / Invoke绑定原始的C ++ GeograpbicLib库,从而实现了更高的可
移植
性。 您应该能够...
ASP
.NET
完全入门PDF
ADO
.NET
框架
模型 iii. ADO
.NET
对比ADO iv. 小结第二章 访问数据库i. 记录插入 ii. 记录修改iii. 记录删除第三章 存储过程和触发器 i. 使用存储过程1. 有返回值2. 输入参数 3. 输出参数ii. 使用触发器iii. 小结第四...
C#
使用TensorFlow
.NET
训练自己的数据集的方法
TensorFlow
.NET
是基于
.NET
Standard
框架
的完整实现的TensorFlow,可以支持
.NET
Framework 或
.NET
CORE , TensorFlow
.NET
为广大
.NET
开发者提供了完美的机器学习
框架
选择。 SciSharp STACK:...
spring-net:
.NET
的Spring
框架
ASP
.NET
框架
页面和用户控件的依赖注入,双向数据绑定等。 ASP
.NET
MVC和ASP
.NET
WebAPI
框架
MVC依赖注入(包括WebAPI)。 声明式事务管理抽象通过使用跨不同事务API的通用XML配置和属性进行声明式事务管理 ADO
.NET
...
.NET Framework
17,740
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章