有没什么办法将.net framework环境和MDAC一起打包进安装文件里,因为用户抱怨安装一个应用程序要做的步骤太多了,能不能将这几个一起给打包给用户装阿?
引导程序插件 PluginInstaller.msi 的下在地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=zh-cn
文件名: PluginInstaller.msi
版本: 2003
发布日期: 2003/12/2
语言: 简体中文
下载大小: 29462 KB
通过 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 1.1部署到目标机器上,则按照以下过程:
1.打开VisualStudio.Net 2003,创建一个新的项目,选择安装和部署项目,新建一个安装项目;
2.选择项目->属性,在弹出的属性页中,设置引导程序为Windows安装引导程序。
3.到这里,设置完成。你可以通过查看视图->编辑器->启动条件来查看.Net Framework是否已经被包含在了该部署项目中。
如何在制作安装包时手工在 启动条件 中添加对 MDAC 2.7 的安装条件搜索(即:如何将MDAC 2.7包含在安装部署程序中):
1.选择视图->编辑器->启动条件,右键选择添加注册表启动条件。
2.选中搜索RegistryEntry1,打开属性对话框,将RegKey设置为Software\Microsoft\DataAccess,Root选择vsdrrHKLM,设置Property为MDACSEARCH,设置Value为FullInstallVer。
3.选中Condition1结点,打开属性对话框,将Condition设置为MDACSEARCH>="2.6"。
4. 将 InstallUrl 设置为:http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe ,以便通过用户手工到网上下在安装 MDAC 2.7。
5. Message 设置为当目标计算机没安装 MDAC 2.7 时的提示信息,如:“<本程序需要安装 MDAC 2.7 及以上版本, 请安装 !>”。
6.到此基本设置完成。
具体的方法可参考网站:
http://www.cnblogs.com/jmtek/archive/2005/08/02/205886.html 或者 微软网站: http://msdn.microsoft.com/vstudio/downloads/tools/bootstrapper/default.aspx?pull=/library/en-us/dnnetdep/html/vsredistdeploy1_1.asp
还有:
http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/deployNETApp.mspx
http://www.microsoft.com/china/technet/itsolutions/net/deploy/netdgv2.mspx
http://community.csdn.net/Expert/topic/3384/3384121.xml?temp=5.84048E-03
有水晶报表的程序打包时还需要做的事项:
参考网站:http://community.csdn.net/Expert/topic/3770/3770083.xml?temp=.9249536
安装部署时,把水晶报表的msm打进去,注册到服务器
要部署使用 Crystal Reports for Visual Studio .NET 2003 的程序;
首先:找到以下7个文件:
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_chs.msm
Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
(你可以 C:\Program Files\Common Files\Merge Modules 文件夹下找到)
接着:在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。
在“添加模块”对话框中,选择上面的7个要添加到安装项目的合并模块,然后单击“打开”:
还有:打开解决方案-->右键点击 Crystal_regwiz2003.msm 的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS
**********************************************************************************************************************************************
部署水晶报表时的常见问题及解决方案
1、载入报表时报错
问题出在报表发布上。
发布使用水晶报表的项目需要包含三种组件:报表、模块、运行库,这些模块文件是在 C:\Program Files\Common Files\Merge Modules\ 目录里面。
(1)报表
用户编程时创建的水晶报表文件。
(2)模块
Managed.msm 该模块包含了CR for VS .NET 的管理模块,如 CrystalDecisions、CrystalReports.Engine.DLL、CrystalDecisions.Web.DLL, 和 CrystalDecisions.Windows.Forms.DLL……
Managed_chs.msm 是该模块的中文版语言支持。
Database_Access.msm 该模块包含了数据库的驱动、与不同数据库的联结、报表导出为 RTF 和 HTML 格式的文档和图表组件。
Database_Access_chs.msm 是此模块的中文版语言支持。
Regwiz.msm 注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过
(3)运行库
如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_CRT.msm 和 VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的\Module Retargetable Folder\项必须修改成为系统目录
在VS.NET安装工程中,系统检测出来的依赖项只有 dotNETFXRedist_x86_chs.msm 和 Managed.msm这两个模块,其他的模块我们需要手动加入。
(1)在解决方案资源管理器里,右键单击安装项目选择\添加\-〉\合并模块\
(2)在\添加模块\对话窗体,选择 Managed_chs.msm 、Database_Access, Database_Access_chs, regwiz、VC_CRT.msm 和 VC_STL.msm 模块
(3)重新生成安装项目,没问题,只是生成的安装程序一下子大了七、八兆。
-------------------------
2、部署到 Windows 98 / ME 时,出错:\Load Report Failed\
是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。
要解决这个问题,可以在客户计算机上手动注册 CRQE.dll,使用下面的命令:
regsvr32 \C:\program files\common files\Crystal Decisions\1.0\bin\CRQE.dll\
如果 CRQE.dll 没有成功注册,并且问题继续存在,在客户计算机上检查 ATL.dll 的版本。ATL.dll for Windows 98/ME 正确的版本是 3.0.8449。
通过使用下面三种方法中的任意一种方法,可以找到并注册正确版本的 ATL.dll。
(1)在客户计算机上装 IE6.0。
(2)在客户计算机上,手动复制和注册 ATL.dll,然后运行用于 Crystal Reports 分发的安装包。
(2)将 ATL.msm 合并模块添加到安装工程,ATL.msm 是 Visual Studio installer 1.1 的一部分,可以去微软的网站http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/download.aspx下载, 添加办法同上。
-------------------------
3、在Win98的客户端运行提示\该字段名未知\
报表在Win2000的客户端一切正常,在Win98的客户端运行提示\该字段名未知\?
是因为报表使用到的 sql server 数据库中的字段名为中文的缘故,将其字段名改名为英文字段名。
-------------------------
4、分发到客户机时“查询引擎出错”
(1)“安装项目”要包含下列合并模块:
VC_CRT.msm
VC_STL.msm
(2)此外,确保 Msvcr70.dll 和 Msvcp70.dll 在客户计算机的“系统目录”里。
-------------------------
5、load crpe32.dll failed
下面是cr9net_deployment.pdf说明中的部署Crystal Report 9的步骤:
打开 Windows 应用程序。
在解决方案资源管理器中,右击 Windows 应用程序解决方案,指向“添加”,然后单击“新建项目”。
在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。单击“确定”按钮。
在解决方案资源管理中,右击安装项目,指向“添加”,然后单击“项目输出”。
在“添加项目输出组”中,选择“主输出”,然后单击“确定”。
将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msm和dotnetcrystalreports.msm。
需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择“排除”。
在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。
在“添加模块”对话框中,选择下列要添加到安装项目的合并模块,然后单击“打开”:
reportengine.msm, crnetruntime.msm, license.msm
mapping.msm
VC_CRT.msm、VC_STL.msm
在解决方案资源管理器中,右击 license.msm 文件,然后选择“属性”。
在“属性”窗口中,展开 MergeModuleProperties,然后在“许可证密钥”属性框中输入一个有效的许可证密钥。
注意 每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。
从“生成”菜单中,选择“生成解决方案”以生成应用程序。
-------------------------
6、在 ASP.NET 程序中加载报表时,出错:\Load Report Failed\
确保 ASPNET 本地用户对报表所在的文件夹有“完全控制”的权限。
-------------------------
7、部署 .NET 9.1 程序到 Windows 98 时,出错:\Load Report Failed\
是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。
要解决这个问题,从开发计算机复制 Dbghelp.dll 到客户计算机的\C:Windows\system32\ 文件夹。