我用inno setup写的安装脚本,里面有几个dll涉及到注册,但有个问题,从来没有装过这个软件(或者说从来没有注册过这些个dll)的计算机却不能正确的进行这些注册。在安装的时候未提示有错误发生,也就是说脚本认为注册是成功的,但在注册表中并未搜索到有任何关于这些dll的注册信息。但同样的环境,再重新安装一次就没问题了。不知道这是什么原因,inno setup的原因呢,还是我的dll的原因呢?
   我用的是inno setup 4.2.6版本。注册语句是:Source: "mydll.DLL"; DestDir: "{app}"; Flags: regserver
   哪位高手帮忙指点一下,谢了!

解决方案 »

  1.   

    Source: "嘿咻嘿咻"; DestDir: "{sys}"; Flags: regserver uninsneveruninstall
      

  2.   

    uninsneveruninstall是对下次才起作用的,第一次有没有它有关系吗
      

  3.   

    Source: "D:\Source\DPath.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver
      

  4.   

    Source: "MyDll.dll"; Flags: dontcopy
      

  5.   

    ksaiy(阳光总在风雨后)提供的方法我也正想要试一下,但那样的话就要用户每次安装完重启机器,好像有点烦。to tkdyzc() : 为什么dontcopy呢?而且这个dll程序中是要调用的,怎么可以dontcopy呢?