[Files]
Source: "E:/DevStudio/安装程序制作/Bin/SPTTSCHS.DLL"; DestDir: "{pf}/Common Files/SpeechEngines/Microsoft/TTS/2052"; Flags:ignoreversion regserver
Source: "E:/DevStudio/安装程序制作/Bin/SPTTSCHS.DLL"; DestDir: "{pf}/Common Files/SpeechEngines/Microsoft/TTS/2052"; Flags:regtypelib
其中Flags:段的regserver参数就是注册
在RUN段就是多余的
ignoreversion 忽略版本
regserver 注册activeX DLl/OCX
regtypelib 注册类型库TLB
restartreplace 如文件在使用重启替换
noregerror 注册失败不显示错误信息
replacesameversion 替换相同版本
uninsnosharedfileprompt 卸载时不出现共享文件提示
sharedfile 设为共享文件
sharedfile 设为共享文件"
例:
你开发了一个xxx.dll,在第一个软件aaa.exe使用了此DLL,打包时使用了了共享,初次安装测计数加一
再开发了第二个bbb.exe软件,也是用了这个DLL,那么共享计数就为二。
两个软件都在一台机器上安装了,当卸载其中一个软件时,共享计数减一,因另计数未到0,所以此DLL不会卸载,当再卸载每二个软件,计数已到0,说明系统中已没有任何软件使用此DLL了,卸载程序就会把此DLL卸载掉。