1.是这样的,我的vs即使新建一个安装项目后什么都不加不改,编译错误:不可恢复的生成错误,网上说的注册表信息丢失、一个m*.dll要注册过这些办法都没用。
2.如果用的是新建安装向导,在结束后会提示"sqldmo.dll"和"ieframe.dll"找不到依赖项什么的,而且编译同上错误
3.如何对com进行打包,加程序集只能打包.net自己的,是不是只要打包vs编译添加引用过com的项目后自动在编译输出路径生成的关于该com的引用封装dll(比如:*.interop.dll")就够了,如果要自己选文件去加,那我怎么能确定只加一个sqldmo.dll就够了,有可能是关联到sqlserver其他的dll?
4.具体说下"sqldmo.dll"(dll实际存于SQL server 2000 目录下,编译目录生成的是引用dll:sqldmo.interop.dll)和”ieframe.dll"(其实还有个ax...sh..dll什么的名字的dll)(就是调用COM组件:microsoft web 浏览器:AxWebBrowser)的打包方法。
5.如何打包Excel 2003 (microsoft excel object 11.0)
6.安装程序安装时候是否是会忽略目标机器是否安装过excel或excel的版本的
7.为什么我的一些dll加入安装项目文件打包窗口的时候会生成2个dll(比如:加入a.dll,结果列表里出现a.dll和a.DLL两个dll)
8.如何能在已经装有.net framework,sqlserver2000,ie7等的开发环境中方便地模拟测试用户电脑的实际环境,也就是说,我怎么能测试出有可能什么dll我忘了打进去,而我的电脑是环境齐全的,是肯定可以运行的,但因为忘了打包什么东西,导致最终用户处却运行不了。

解决方案 »

  1.   

    1:不会
    2:不会,强烈建议你重新安装你的VS。
    3:使用Depends这个工具查看关联的DLL,在VS中有。注意:关联的DLL,他们又关联其它DLL,这也是需要包括的。不过一般系统都会有。另外使用Depends工具也只包括了静态加载的dll,不包括运行时动态加载的。
    4:建议安装一下SQL200的客户端程序,而不是手工打包。不过你也可以使用wise install等工具监视SQl200客户端程序的安装过程,然后手工写一个打包程序。一般的COM组件打包都是复制文件+注册两个步骤。
    5:你需要做何种操作?如果只是用EXCEL导出表,这个只需要打包一个文件并注册即可。
    6:在安装COM组件的过程中,复制文件不影响。但注册时会影响到某个GUID对应的组件的位置包括路径等信息,因此如果你的机器上安装了相同版本的Excel等,可能会有一点麻烦。因此打包程序最好先检测Excel。
    7:?
    8:安装一个虚拟机吧。
      

  2.   

    1,2 建议LZ重装VS;
    3、在打包时你可以将com添加到引用里就可以,在客户机上安装时它会自动增加dll引用,
      

  3.   


    1.继续等待答案
    2.也许这能如此
    3.比较头疼,如果关联的dll是带目录的,那是不是我也要重建这种目录关系
    4.如果假设这些sqlserver2000等程序是独立安装的,那是不是只要打包好sqldmo.interop.dll就够了还是连sqldmo.interop.dll不用打包了,而只要保证在目标机器安装过sqlserver2000就可以了?还有如果目标机器上安装路径和开发机器上的安装路径不同是否会有影响,是否要进行注册,是则如何注册,regsvr32 ?
    5.的确,只用到得到activesheet后调用activesheet.paste()粘贴已经在剪贴板里利用tab键和换行分割格式化好的数据文本,此外就是activesheet.SaveAs(),打包那个文件?
    6.怎么自动注册?
    7.就是这么奇怪,本来选要打包的文件,选一个,就加进去一个,但现在就是加入a.dll一个文件,已选择打包文件列表里却会显示我已经加入了2个文件a.dll和a.DLL
    8.没有工具就先放放
      

  4.   

    1,2
    3:不需要建立目录关系。搜索DLL时,一般只包括当前目录和系统环境变量中定义的一些路径,比如:C:\windows,C:\windows\sstem32等。另外,对于COM对象来说,只要注册成功,位置是不影响的。
    4:如果安装成功了Sqlserver2000(仅客户端 即可),你只需要打包sqldmo.interop.dll,这个类把COM对象封闭为托管的类型。你不用管目标机器的SQL2000安装在哪里。
    5:不太记得了,要找找
    6:自动注册,就是安装时注册这个组件。这个安装工具一般提供这具功能,我一般使用Wise Install或者InstallShield都提供这个功能,即注册COM组件。
    7:?不知道:)
    8:VPC,VM都可以
      

  5.   


    1,2. OK
    3.:我意思是比如该sqldmo.dll里假设利用相对路径调用过某个dll,是否我把他们打包到同级目录会影响其的调用
       比如:
        sqldmo.dll-> 我是 com -> 注册
       但 
        开发机器[sqldmo.dll -> 调用 ..\sqldmosendmessagetome.dll -> OK] 
        目标机器[sqldmo.dll -> 调用 ..\sqldmosendmessagetome.dll -> ERROR : sqldmosendmessagetome.dll在.\而不是..\]
    4. OK
    5. 我查查,OK
    6. VS自带的我再看看 OK
    7. 那先不管它了 OK
    8. 没有专业测试工具?那也先不管它了 OK