如何对框架和MADC进行打包部署

做一个项目的时候,发现需要远程部署,但对方机子没装框架~~~  -_-!!郁闷,只能想办法了,还好找到一些资料,刚好可以用上,以后就不用到处跑了.

引导程序插件 PluginInstaller.msi 的下在地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=zh-cn

通过 Microsoft Visual Studio .NET 2003 引导程序插件,您可以轻而易举地创建安装程序,将 .NET Framework 1.1 和/或 MDAC 2.7 随您的应用程序一起重新分发。

为使 .NET Framework 应用程序可以在某台特定的计算机上运行,该计算机上必须安装有 .NET Framework。 任何使用 ADO.NET 来连接数据库的 .NET Framework 应用程序都要求使用 MDAC 2.7。 许多计算机都已经安装了这些组件,但是,为了确保某个应用程序能够运行,应随该应用程序重新分发这些组件。

Visual Studio .NET 2003 引导程序与 Visual Studio .NET 安装程序和部署项目集成在一起。 基于这一点,您可以只创建一个安装程序,用它来自动检测目标计算机上是否存在那些系统必备软件,并根据需要进行安装。 如果在安装任何组件的过程中要求计算机重新启动,安装程序将会自动继续后续的安装操作。 因此,应用程序的用户只需要运行一个安装程序即可安装系统必备软件和相应的应用程序。

若要了解有关 Visual Studio .NET 2003 引导程序的更多内容,请参阅《.NET Framework 1.1 开发指南》中的 Visusal Studio .NET 2003 文章。

补充:在安装完  Microsoft Visual Studio .NET 2003 后,最好立即安装 本引导程序插件 PluginInstaller.msi ,以使得你的 .NET 程序安装包在制作时就已将  .NET Framework 1.1 和/或 MDAC 2.7 打包进你的安装包中,可是得你的安装包能顺利安装进行。

 

打包部署.net framework和mdac 组件
打包部署.net framework和mdac 组件 ,使你的.net 应用程序可以 自动依据是否已经安装
来判断,是否启动.net framework和mdac的安装,这里需要使用一个BootStrapper for .net 2003插


 下载地址: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-

cn&FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19 
 

第1步:使用 Setup 项目安装 .NET 框架
  
  1. 确保 Visual Studio .NET 框架引导程序插件已安装。
   
2. 在 解决方案资源管理器 中选择 Setup 项目。在 项目 菜单上,选择 属性。
  
  3. 将 引导程序 属性设置为 Windows 安装引导程序。
  
  编译 Setup 项目时,.NET 框架可重新分发软件包将与该 Setup.exe 一起打包。
  
  注 还必须启用 .NET 框架的启动条件;默认情况下,引用 .NET 框架的任何项目都启用了该条

件。要检查启动条件,请从 View 菜单指向 Editor,并选择 Launch Conditions,然后查找名为

.Net Framework 的启动条件。
  
第2步:设置安装提示和exe文件路径

1,选中启动条件-〉.net framework节点 ,按F4
InstallUrl 的值改为 dotnetfx.exe
2,message 的值为 即将安装.net framework1.1 运行时,是否继续?
如果客户的机器上没有安装.net framework 这个设定提示在安装的时候将会出现.


  第3步:使用 Setup 项目安装 MDAC
  
  1. 确保 Visual Studio .NET 框架引导程序插件已安装。
  
  2. 在 解决方案资源管理器 中选择 Setup 项目。从 视图 菜单指向 编辑器,并选择 启动条

件。
  
  3. 选择 目标计算机上的要求 节点。按鼠标右键,选择 添加注册表启动条件。
  
  4. 选择 添加注册表搜索 节点 ,修改节点名称为MDAC FIND。在 属性 窗口中,选择 RegKey

属性,并键入 Software/Microsoft/DataAccess。
  
  5. 选择 Root 属性,并选择 vsdrrHKLM。
  
  6. 选择 Value 属性,并键入 FullInstallVer。
  
  7. 选择 Property 属性,并键入 MDACSEARCH。
  
  8. 在 在启动条件节点 中,选择 MDAC FIND 节点。在 属性 窗口中,选择 Condition 属性,

并选择 MDACSEARCH>="2.7"。

 9,对于mdac 安装提示的设置 可以参照 第2步.

注意:在这里最好不要更换 MDAC 搜索节点的 Property 的名称(MDACSEARCH),如果更换名称很有

可能
在BUILD 的时候 ,没有把mdac_typ.exe 文件打包进来,这可能是bootstrapper的一个bug。

 

 

 


怎样将MDAC打包进.Net安装项目中?
在“解决方案资源管理器”选择Setup1安装项目工程,选择“视图”菜单,指向“启动条件”,打开“启动条件”管理器。

在"启动条件"管理器中,右键点击"目标计算机上的要求",在弹出的的菜单中选择"添加注册表启动条件"。你会发现在"搜索目标计算机"中多了一项"搜索 RegistryEntry1",在"启动条件"中多了一项"Condition1"。

选择"搜索 RegistryEntry1",在"属性"对话框中填写如下内容:

Property:MDACSEARCH

RegKey:Software/Microsoft/DataAccess

Root:vsdrrHKLM

Value:FullInstallVer

选择"Condition1" ,在"属性"对话框中填写如下内容:

Condition:MDACSEARCH>="2.6"

进行这一步是因为在安装.NET框架的时候需要MDAC。

 

 

 

 

 

 

怎样将MSDE Sp3打包进.Net安装项目中?
1、创建安装项目“Setup1”安装项目

在“文件”菜单上指向“添加项目”,然后选择“新建项目”。

在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中键入 “setup1”。

单击“确定”关闭对话框。

项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。

在“属性”窗口中,选择 ProductName 属性,并键入”亿万电器成套报价系统”。

2、下载MSDE Sp3 安装程序与MSI安装文件修改器(Orca)工具。

3、选择“文件系统编辑器”,在“视图“菜单上指向“添加”,然后选择“合并模块…”(Merge Moudle),在添加模块中,找到MSDE sp3安装文件所在目录,将MSM和MSM/1033下的所有文件,添加进来。

在安装项目Setup1的属性(Properties)中的“Search Path”,添加MSM和MSM/1033目录。

单击“生成菜单下的“生成解决方案”,编译Setup1安装项目工程。

用Orca MSI安装文件修改器打开生成的安装包(Setup1.msi)文件,在左列的表栏中

选择“InstallExecuteSequence”表,修改下面的属性值:

GetSqlStates.XXXXXX 103改成421

RemoveExistingProducts值改成1800

InstallInitialize值改成1799

     在InstallUISequence

选择“InstallUISequence”表,修改下面的值:

GetSqlStates.XXXXXX 103改成421

选择“Property”表,添加以下三个属性:

SqlInstanceName:MSDEDH实例服务名

SqlSecurityMode:SQL(不加这行确实也行,就是没办法用SQL模式登录)

SqlSaPwd:sa的密码

 

连接测试:

单击修改过的Setup1.msi安装文件,确认是否能够安装;

osql -S 机器名/MSDEDH实例服务名 -U sa -P sa密码

能够进去——>OK!打包成功!

 


怎样将.Net程序部署到没有安装.Net Framwork的机器上?
 
部署在.Net 平台下开发的应用程序,需要安装安装对应版本的.Net Framwork,而Vsual Studio 2003并没有提供一起打包的功能,所以这一点估计大多开发者都感觉不是太好,那如何将.Net Framework安装部署到客户机上呢?
 其实微软提供了我们一个安装引导插件(Microsoft Visual Studio .NET 2003 引导程序插件),可以帮助我们在打包时,它会自动将.Net Framework打包放入你的安装程序中,完成了我们想要的功能。
 建立安装程序项目,将自己需要打包的程序加入进去,编译过后,你会注意到在生成的安装目录下,你将会注意到多了几个文件(dotnetfx.exe、Config.ini、langpack.exe、Settings.ini),详细介绍如下:

Config.ini -- 安装配置文件
dotnetfx.exe -- .Net Framework组件
langpack.exe -- 语言包
Settings -- 设置文件
ItemSoft.msi -- .msi安装文件
Setup.exe -- 主安装程序

Config的文件内容如下:
[config.ini]
IDS_NOT_SINGLE_INSTANCE=已有另一版本的安装程序正在运行。 该应用程序一次只能运行一个版本。
IDS_DIALOG_CAPTION=%s 安装
IDS_SINGLE_INSTANCE_FAIL=CreateMutex 无法对单个的实例检查分配句柄。
IDS_SETUP_FAILURE=%s 安装失败。如果问题继续存在,请与产品支持人员联系。
IDS_DEFAULT_PRODUCTNAME=应用程序
IDS_SETTINGS_INIT_FAILURE=安装设置文件'%s'在解析时出错,或者无法定位该文件。
IDS_CREATE_PROCESS_FAILURE=下列命令行的 CreateProcess 操作失败: %s 。
IDS_INSUFFICIENT_PRIVILEGES=运行 %s 安装程序要求具有本地系统管理员的权限。安装程序现在退出。
IDS_DIALOG_TEXT=单击"确定"开始安装 %1 。单击"取消"退出安装。
IDS_ERROR_CAPTION=%s 安装错误
IDS_VERSION_DETECT_FAILED=%1 的版本检测失败。请确保安装程序存在于指定位置。%n%n返回消息: %2
IDS_MSI_NOT_FOUND=无法定位产品安装程序'%s'。安装程序现在退出。
IDS_REBOOT_QUERY=安装完成。现在重启吗?
IDS_SETUP_SUCCEEDED=安装成功。
IDS_INVALID_LANGID_CAPTION=无效的语言包代码
IDS_FX_NOT_FOUND=无法定位 .NET framework exe 文件'%s'。安装程序现在退出。
IDS_INVALID_LANGID_MESSAGE=语言包代码 %s 无效。跳过...
IDS_LANGPACK_NOT_FOUND=无法定位语言包 %s。安装程序现在退出。
IDS_MDAC_NOT_FOUND=无法定位 MDAC exe 文件'%s'。安装程序现在退出。
IDS_FILE_NOT_FOUND=无法定位'%1'。安装程序现在退出。

Settings.ini文件内容如下:
[Bootstrap]
MsiPath=ItemSoft.msi -- .msi安装文件
ProductName=中国亿万电器成套报价系统 --安装产品名称
MdacVersion=2.71
BootstrapFx=true
FxInstallerPath=
LanguageID=2052
BootstrapLangPack=true
LangPackInstallerPath=
BootstrapMdac=true
MdacInstallerPath=

这种方法能够很简单的将.Net Framwork与你的应用程序一起打包到安装程序中,并且自动检测客机上的是否安装过.Net Framework,然后运行安装。相信大家一定能够喜欢这个插件。


=======================================================
附:后来找到一个简略的版本,其实就是上面的简单操作版,附上是因为上边有一些主意事项,感觉可能还是有用的

第一步:下载Microsoft Visual Studio .NET 2003 引导程序插件
   下载地址: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19

我的教训:我没下载这个插件,就直接在安装盘中找到那个Dotnetfx.exe 文件,弄了至少5个小时也没能弄好

第二步:使用 Setup 项目安装 .NET 框架

1.
 确保 Visual Studio .NET 框架引导程序插件已安装。
 
2.
 在 解决方案资源管理器 中选择 Setup 项目。在 项目 菜单上,选择 属性。
 
3.
 将 引导程序 属性设置为 Windows 安装引导程序。

编译 Setup 项目时,.NET 框架可重新分发软件包将与该 Setup.exe 一起打包。
 

注 还必须启用 .NET 框架的启动条件;默认情况下,引用 .NET 框架的任何项目都启用了该条件。要检查启动条件,请从 View 菜单指向 Editor,并选择 Launch Conditions,然后查找名为 .Net Framework 的启动条件。

第三步:使用 Setup 项目安装 MDAC
1.
 确保 Visual Studio .NET 框架引导程序插件已安装。
 
2.
 在 解决方案资源管理器 中选择 Setup 项目。从 视图 菜单指向 编辑器,并选择 启动条件。
 
3.
 选择 目标计算机上的要求 节点。按鼠标右键,选择 添加注册表启动条件。
 
4.
 选择 Search for RegistryEntry1 节点。在 属性 窗口中,选择 RegKey 属性,并键入 Software/Microsoft/DataAccess。
 
5.
 选择 Root 属性,并选择 vsdrrHKLM。
 
6.
 选择 Value 属性,并键入 FullInstallVer。
 
7.
 选择 Property 属性,并键入 MDACSEARCH。
 
8.
 在 Launch Conditions Editor 中,选择 Condition1 节点。在 属性 窗口中,选择 Condition 属性,并选择 MDACSEARCH>="2.6"。
这里特别注意:2.6上的引号是中文的

我的教训:我因为这个中文符号,弄了近一天时间。
 
 
 
 
 
 编译 Setup 项目时,.NET 框架可重新分发软件包和 MDAC 将同时与该 Setup.exe 一起打包。

其它相关信息,您只需要搜索CSDN的文章即可解决!

建议阅读这篇文章: http://www.microsoft.com/china/MSDN/library/netFramework/netframework/Nfdnnetdepvsredistdeploy1_1.mspx
 最后我还要提下,打包里边还有给水晶报表的打包的,也是比较麻烦的,但网上已经很多.我也懒得去找过来了.
 


.net安装制作中桌面快捷方式的问题

在安装打包程序制作中建立桌面快捷方式是少不了的,但安装后的快捷方式与我们手工建立快捷方式不同,没有目标路径。  
  而且最近建立的快捷方式运行时,总是先运行起windows   installer,然后才出现应用程序,而手工建立的快捷方式不会有这种情况,怎么才能建立与手工一样的快捷方式?

制作安装和部署项目时,选择:文件系统->应用程序文件夹->选择你打包的EXE文件点击右键->创建快捷方式->然后将此快捷方式拖拉到->用户程序菜单下(或用户桌面)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值