我的需求如下:
有几十个dll,我想把他们放入system32下的test目录里面,但机器上是没test目录的,也就是说需要新建test目录。
如何实现呢?
扩展:cab支持目录的形式打包吗?然后将此目录放入指定的地方吗?

解决方案 »

  1.   

    修改INF文件,将目标路径改成:%11%\test 试试.
    cab文件好像支持目录打包.但安装过程是由inf进行操作的.所以打成目录也是没多大实际意义的.
      

  2.   

    放到system32下的test目录
    难道你要用绝对路径调用dll么?
    直接全扔到system32 目录下得了。
      

  3.   

    to:huzs_82(cFan.hu) 试过,不行。我在system32下再创建test目录,再测试,结果dll并没有放入test目录下。
    to:akirya 我之所以放到一个目录下是不想让太多的dll都放入system32下,清理也不方便。
      

  4.   

    你可以参考一下flash的cab包,这个cab包就是安装在
    system32\macromed\flash这个目录下的
      

  5.   

    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0
    [Add.Code]
    test1.dll=test1.dll
    test2.dll=test2.dll
    test3.dll=test3.dll
    [test3.dll]
    file-win32-x86=thiscab
    FileVersion=0,8,6,0
    DestDir=11
    [test2.dll]
    file-win32-x86=thiscab
    FileVersion=0,8,6,0
    DestDir=11
    [test1.dll]
    file-win32-x86=thiscab
      FileVersion=0,8,6,0
      clsid={9BE31822-FDAD-461B-AD51-BE1D1C159921}
      RegisterServer=yes
      DestDir=11上面代码是把test1、2、3都放在system32上的,如何将test3.dll放在system32/test下呢?
    DestDir=11,test 失败
      

  6.   

    我已找到解决的方法,我是用wise做成一个安装包,然后cab运行这个setup包,就可以将dll放到我指定的目录下了。
      

  7.   

    不知道makecab怎么用 谁能给说一下 谢谢了先!
      

  8.   

    google一下吧,很多。CABARC.EXE也挺好用的
      

  9.   

    在inf下只能放在SYSTEM32,如果要达到你的要求,就要手动写注册表了
      

  10.   

    把"DestDir=11"改成"DestDir=11,test"试试.
    如果没问题的话这个目录就是system32\test目录.
      

  11.   

    如果还是有问题建议参考一下flash9.cab里的swflash.inf里的实现方式.