关于.net项目打包的相关(瞎找的,仅供参考,较混乱)

打包的具体操作步骤(VS.net2003+win2K):  
   
  1)新建“安装和部署项目”-->“安装向导”  
   
  2)选择菜单中   项目-->添加-->文件(这里选“创建用于windows应用程序.exe”)-->打开  
   
  3)一般会自动将依赖项添加到“检测到的依赖项”,如果没有,那么我们要手动将其加入4)  
  Crystal_Managed2003.msm           (如果有水晶报表)  
  dotnetfxredist_x86.msm             (.net一定是必须的)  
  ...                                                   (如果有引用其他的dll)  
     
  4)手动加入要包含的文件:项目-->添加-->合并模块(添加你的程序文件)   (包括dotNetFramework和MDAC27)  
  位于:C:\Program   Files\Common   Files\Merge   Modules\   下,*为必要的  
   
  具体功能如下:  
  (托管组件   MSM   处理所有托管组件的分发,其中包括   Windows   窗体查看器、Web   窗体查看器和所有   Crystal   Decisions   命名空间)  
  *   Crystal_Managed2003.msm  
      Crystal_Managed2003_chs.msm  
   
  (对于使报表运行所需的所有其他文件,由数据库访问   MSM   处理其分发。其中包括数据库、导出和图表驱动程序。)  
  *   Crystal_Database_access2003.msm  
      Crystal_Database_access2003_chs.msm  
   
  (KeyCode   MSM   处理   Crystal   Decisions   密钥号码的安装,注意是添加合并模块,否则没有“MergeMouduleProperties”属性)  
  *   Crystal_regwiz2003.msm  
   
  (如果报表文件使用了   ADO.NET   的   dataset   数据集对象,那么   VC_User_CRT71_RTL_X86_---.msm   和   VC_User_STL71_RTL_X86_---.msm   模块也必须包含在安装工程中。  
  而且这两个模块的文件安装属性的"Module   Retargetable   Folder"项必须修改成为系统目录)  
      VC_User_CRT71_RTL_X86_---.msm  
      VC_User_STL71_RTL_X86_---.msm  
      (很多人经常出现查询错误,不妨加上这个)  
   
  5)打开解决方案-->右键点击Crystal_regwiz2003.msm的属性,在“MergeMouduleProperties”里的“License   Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal   Report是用到的注册号的密码!)  
   
  6)生成解决方案(或直接按Ctrl+Shift+B)  
   
  至此整个分发程序已经做好,再把刚才做的那个安装程序双击一下……  
   
  -----------------------------------------------------------------------  
  打包時加入卸载功能:  
   
  方法一:  
  1.在打包項目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)  
  2.在文件系統視圖中選擇應用程序文件夾,在msiexec.exe上按右鍵,選擇創建快捷方式,重命名快捷方式為"卸载".  
  3.更改此快捷方式的Arguments   为"/x   {產品id}",產品id的值為打包項目的ProductCode屬性值.  
   
  方法二:(推荐)  
  1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到  
  2.用VS.net建立一个新的控制台程序uninst.exe文件  
  'power   by:   landlordh  
  'for   2000,xp,2003  
  Module   uninstall  
          Sub   Main()  
                  Dim   myProcess   As   Process   =   New   Process  
                  If   System.Environment.OSVersion.ToString.IndexOf("NT   5")   Then  
                          myProcess.Start("msiexec",   "/X{2B65D4A9-C146-4808-AB4B-321FB0779559}")     '改为自己的ProductCode  
                  End   If  
                  myProcess.Close()  
          End   Sub  
  End   Module  
  3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式  
   
  -----------------------------------------------------------------------  
  把MS的pluginstaller插件装上后,用vb.net的自带的打包工具打包,就会自动把  
  .net   framework环境打进去,再下面的步骤进行设置,就可以把MDAC也打包.  
   
  使用   Setup   项目安装   MDAC    
  1.确保   Visual   Studio   .NET   框架引导程序插件已安装。    
  2.在   Solution   Explorer   中选择   Setup   项目。  
      从   View   菜单指向   Editor,并选择   Launch   Conditions(启动条件)。    
  3.选择   Requirements   on   Target   Machine(搜索目标计算机)   节点。  
      从   Action   菜单,选择   Add   Registry   Launch   Condition(添加注册表搜索)。    
  4.选择   Search   for   RegistryEntry1   节点。在   Properties   窗口中,  
      选择   RegKey   属性,并键入   Software\Microsoft\DataAccess。    
  5.选择   Root   属性,并选择   vsdrrHKLM。    
  6.选择   Value   属性,并键入   FullInstallVer。    
  7.选择   Property   属性,并键入   MDACSEARCH。    
  8.在   Launch   Conditions   Editor(启动条件)   中,添加Condition1   节点。  
      选择   Condition1   节点,在   Properties   窗口中,选择   Condition   属性,并选择   MDACSEARCH>="2.6"。    
  9.在   Solution   Explorer   中选择   Setup   项目。在   Project   菜单上,选择   Properties。    
  10.将   Bootstrapper   属性设置为   Windows   Installer   Bootstrapper(Windows   安装引导程序)。  
      编译   Setup   项目时,.NET   框架可重新分发软件包和   MDAC   将同时与该   Setup.exe   一起打包。  
--------------------------------------------------------------------------------------------------------
posted @ 2007-11-13 16:50  jenner  阅读(909)  评论(0编辑  收藏  举报