论坛风格切换切换到宽版
  • 2142阅读
  • 3回复

[2015.12.21] Inno Setup Suite 5 [复制链接]

上一主题 下一主题
离线546242502
 

发帖
332
金钱
-3060
威望
-306
只看楼主 倒序阅读 0 发表于: 2015-12-14


说明:应 solan 要求,公开 Inno Setup Suite 5 的初版脚本文件供参考学习交流使用,希望不会出现稍微修改下备注的 XXX 个人打包版;
感谢 Restools 和 Skygz 开发的增强版本,感谢各汉化者作品,感谢 gnatix 版主在脚本上给予的指导,也感谢开发作者开发一款这么好的软件供我们使用。

2015.12.21 更新内容:
1、更新 innounp 到 0.44 版本,更新一些设置;
2、修正和完善 Inno Script Studio 2.2.1.31 简体中文翻译,原作者机翻的,存在很多问题;
2、全面优化打包代码,插件选择后两个版本都默认安装,不再贴了,下面的初版代码仅供参考;


2015.12.14 更新内容:
最近修正:
1、修正上个版本安装目录相同时会覆盖安装情况,改为检测到一样时自动处理,在 Ansi 版本后面加上 (a);
2、修正 InnoEx 和 InnoExtractor  右键关联问题,在 [Registry] 段调整一下顺序都会出错,很奇怪;
3、修正快捷方式问题,本打算重新改进代码,算了,懒得测试。

下载地址:http://yunpan.cn/c3bYzsZ6kNCty (提取码:dc89)
2015.12.15 CODE 段只更改了第二个目录,后缀改为 Ansi,其它没动,禁止开始菜单组页面,修复快捷方式问题,解包可见,不贴了。

脚本文件:
  1. #define MyAppName "Inno Setup Suite"
  2. #define MyAppVersion "5"
  3. #define MyAppPublisher "jrsoftware.org"
  4. #define MyAppURL "http://www.jrsoftware.org/"
  5. #define MyAppExeName "Compil32.exe"
  6. [Setup]
  7. ; 注意: AppId 的值是唯一识别这个程序的标志。
  8. ; 不要在其他程序中使用相同的 AppId 值。
  9. ; (在编译器中点击菜单“工具 -> 产生 GUID”可以产生一个新的 GUID)
  10. AppId=Inno Setup {#MyAppVersion}
  11. AppName={#MyAppName}
  12. AppVersion={#MyAppVersion}
  13. AppVerName={#MyAppName} {#MyAppVersion}
  14. AppMutex={#MyAppName}
  15. AppPublisher={#MyAppPublisher}
  16. AppPublisherURL={#MyAppURL}
  17. AppSupportURL={#MyAppURL}
  18. AppUpdatesURL={#MyAppURL}
  19. DefaultDirName={pf}\Inno Setup {#MyAppVersion}
  20. DefaultGroupName={#MyAppName}
  21. OutputDir=安装程序
  22. OutputBaseFilename={#MyAppName} {#MyAppVersion}
  23. Compression=lzma
  24. SolidCompression=yes
  25. DirExistsWarning=no
  26. ChangesAssociations=yes
  27. WizardImageFile=Image\开始位图1.bmp
  28. WizardSmallImageFile=Image\icon.bmp
  29. SetupIconFile=Image\Icon.ico
  30. //版本信息
  31. VersionInfoCompany=jrsoftware.org
  32. VersionInfoDescription=Inno Setup lH-U {#MyAppVersion} Setup
  33. VersionInfoVersion={#MyAppVersion}
  34. [Languages]
  35. Name: "en"; MessagesFile: "compiler:Languages\English.isl"
  36. Name: "chs"; MessagesFile: "compiler:Default.isl"
  37. [Types]
  38. Name: "default"; Description: "{cm:default}"
  39. Name: "custom"; Description: "{cm:custom}"; Flags: iscustom
  40. [Components]
  41. Name: "ALL"; Description: "{cm:all}"; Types:custom default; Flags:fixed
  42. Name: "ALL\ANSI"; Description: "{cm:ansi}"; Types:custom
  43. Name: "ALL\ANSI\restools"; Description: "{cm:ansirestools}"; Types:custom; Flags: exclusive
  44. Name: "ALL\ANSI\skygz"; Description: "{cm:ansiskygz}"; Flags: exclusive; Languages:chs
  45. Name: "ALL\ANSI\og"; Description: "{cm:ansiog}"; Flags: exclusive
  46. Name: "ALL\Unicode"; Description: "{cm:unicode}"; Types:default;
  47. Name: "ALL\Unicode\restools"; Description: "{cm:unicoderestools}"; Types:default; Flags:exclusive
  48. Name: "ALL\Unicode\skygz"; Description: "{cm:unicodeskygz}"; Flags:exclusive; Languages:chs
  49. Name: "ALL\Unicode\og"; Description: "{cm:unicodeog}"; Flags:exclusive
  50. //插件开始
  51. //For Ansi
  52. Name: "PluginsII"; Description: "{cm:pluginsII}"; Types:custom;
  53. Name: "PluginsII\ISSkin"; Description: "{cm:isskin}"; Types:custom;
  54. Name: "PluginsII\IssProc"; Description: "{cm:IssProc}"; Types:custom;
  55. Name: "PluginsII\Webctrl"; Description: "{cm:webctrl}"; Types:custom;
  56. Name: "PluginsII\GIFCtrl"; Description: "{cm:gifctrl}"; Types:custom;
  57. Name: "PluginsII\ISCrypt"; Description: "{cm:ISCrypt}"; Types:custom;
  58. Name: "PluginsII\DescCtrl"; Description: "{cm:descctrl}"; Types:custom;
  59. Name: "PluginsII\WaterCtrl"; Description: "{cm:waterctrl}"; Types:custom;
  60. Name: "PluginsII\InnoFairy"; Description: "{cm:innofairy}"; Types:custom;
  61. Name: "PluginsII\CallbackCtrl"; Description: "{cm:callbackctrl}"; Types:custom;
  62. //For Unicode
  63. Name: "Plugins"; Description: "{cm:plugins}"; Types:default;
  64. Name: "Plugins\ISSkin"; Description: "{cm:isskin}"; Types:default;
  65. Name: "Plugins\IssProc"; Description: "{cm:IssProc}"; Types:default;
  66. Name: "Plugins\Webctrl"; Description: "{cm:webctrl}"; Types:default;
  67. Name: "Plugins\GIFCtrl"; Description: "{cm:gifctrl}"; Types:default;
  68. Name: "Plugins\ISCrypt"; Description: "{cm:ISCrypt}"; Types:default;
  69. Name: "Plugins\DescCtrl"; Description: "{cm:descctrl}"; Types:default;
  70. Name: "Plugins\WaterCtrl"; Description: "{cm:waterctrl}"; Types:default;
  71. Name: "Plugins\InnoFairy"; Description: "{cm:innofairy}"; Types:default;
  72. Name: "Plugins\CallbackCtrl"; Description: "{cm:callbackctrl}"; Types:default;
  73. //扩展开始
  74. Name: "Extend"; Description: "{cm:extend}"; Types:custom default;
  75. Name: "Extend\Istool"; Description: "{cm:istool}"; Types:default;
  76. Name: "Extend\Istool\cnone"; Description: "{cm:istoolcnone}"; Types:default; Languages:chs; Flags:exclusive
  77. Name: "Extend\Istool\cntwo"; Description: "{cm:istoolcntwo}"; Languages:chs; Flags:exclusive
  78. Name: "Extend\InnoIDE"; Description: "{cm:innoide}";
  79. Name: "Extend\InnoScriptStudio"; Description: "{cm:innoscriptstudio}"; Types:custom
  80. //解包工具开始
  81. Name: "Extractor"; Description: "{cm:extrator}"; Types:custom default;
  82. Name: "Extractor\InnoEx"; Description: "{cm:innoex}";
  83. Name: "Extractor\InnoExtractor"; Description: "{cm:innoextractor}"; Types:custom default;
  84. [Files]
  85. //临时文件//
  86. Source: "Image\开始位图1.bmp"; Flags: dontcopy
  87. Source: "Image\结束位图1.bmp"; Flags: dontcopy
  88. Source: "Image\开始位图2.bmp"; Flags: dontcopy
  89. Source: "Image\结束位图2.bmp"; Flags: dontcopy
  90. Source: "waterctrl.dll"; Flags: dontcopy
  91. //第一部分//
  92. //三个版本共同部分
  93. Source: "app\Main\5.5.x Common\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode;
  94. Source: "app\Main\5.5.x Common\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI;
  95. //两个版本共同部分 5.5.5-5.5.6
  96. Source: "app\Main\5.5.5-6 Common\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\skygz ALL\Unicode\og;
  97. Source: "app\Main\5.5.5-6 Common\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\skygz ALL\ANSI\og;
  98. //三个版本不同部分 I
  99. Source: "app\Main\5.5.1 DF\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\restools;
  100. Source: "app\Main\5.5.1 DF\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\restools;
  101. Source: "app\Main\5.5.5 DF2\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\skygz;
  102. Source: "app\Main\5.5.5 DF2\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\skygz;
  103. Source: "app\Main\5.5.6 DF2\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\og;
  104. Source: "app\Main\5.5.6 DF2\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\og;
  105. //第一部分//
  106. //第二部分//
  107. //三个版本不同部分 II
  108. //Restools 版本开始:
  109. Source: "app\Restools\ANSI\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\restools;
  110. Source: "app\Restools\Unicode\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\restools;
  111. //.isl 语言文件
  112. Source: "app\Restools\Language\EN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\restools; Languages:en;
  113. Source: "app\Restools\Language\CN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\restools; Languages:chs;
  114. Source: "app\Restools\Language\EN\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\restools; Languages:en;
  115. Source: "app\Restools\Language\CN\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\restools; Languages:chs;
  116. //Skygz 版本开始:
  117. Source: "app\Skygz\ANSI\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\skygz;
  118. Source: "app\Skygz\Unicode\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\skygz;
  119. //.isl 语言文件
  120. Source: "app\Skygz\Language\EN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\skygz; Languages:en;
  121. Source: "app\Skygz\Language\CN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\skygz; Languages:chs;
  122. Source: "app\Skygz\Language\EN\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\skygz; Languages:en;
  123. Source: "app\Skygz\Language\CN\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\skygz; Languages:chs;
  124. //官方版本开始
  125. Source: "app\Official\ANSI\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\og;
  126. Source: "app\Official\Unicode\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\og;
  127. //.isl 语言文件
  128. Source: "app\Official\Language\EN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\og; Languages:en;
  129. Source: "app\Official\Language\CN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\Unicode\og; Languages:chs;
  130. Source: "app\Official\Language\EN\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\og; Languages:en;
  131. Source: "app\Official\Language\CN\*"; DestDir: "{code:app2}"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:ALL\ANSI\og; Languages:chs;
  132. //第二部分//
  133. //第三部分开始//
  134. //第一小部分
  135. //扩展工具开始
  136. Source: "Extend\Istool\Main\*"; DestDir: "{app}\Extend\Istool\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\Istool; Check:not allversion
  137. Source: "Extend\Istool\CN\*"; DestDir: "{app}\Extend\Istool\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\Istool\cnone; Languages:chs; Check:not allversion
  138. Source: "Extend\Istool\Roaming\*"; DestDir: "{userappdata}\ISTool"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\Istool\cnone; Languages:chs;Check:not allversion
  139. Source: "Extend\InnoIDE\CN\*"; DestDir: "{app}\Extend\InnoIDE\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\InnoIDE; Languages:chs; Check:not allversion
  140. Source: "Extend\InnoIDE\EN\*"; DestDir: "{app}\Extend\InnoIDE\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\InnoIDE; Languages:en; Check:not allversion
  141. Source: "Extend\Inno Script Studio\*"; DestDir: "{app}\Extend\Inno Script Studio\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\InnoScriptStudio; Check:not allversion
  142. //解包工具
  143. Source: "Extractor\InnoEx\*"; DestDir: "{app}\Extractor\InnoEx\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoEx; Check:not allversion
  144. Source: "Extractor\InnoExtractor\Main\*"; DestDir: "{app}\Extractor\InnoExtractor\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoExtractor; Check:not allversion
  145. Source: "Extractor\InnoExtractor\Language\CN\*"; DestDir: "{app}\Extractor\InnoExtractor\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoExtractor; Check:not allversion; Languages:chs
  146. Source: "Extractor\InnoExtractor\Language\EN\*"; DestDir: "{app}\Extractor\InnoExtractor\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoExtractor; Check:not allversion; Languages:en
  147. //第二小部分
  148. Source: "Extend\Istool\Main\*"; DestDir: "{pf}\Inno Tools\Istool\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\Istool; Check:allversion
  149. Source: "Extend\Istool\CN\*"; DestDir: "{pf}\Inno Tools\Istool\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\Istool\cnone; Languages:chs; Check:allversion
  150. Source: "Extend\Istool\Roaming\*"; DestDir: "{userappdata}\ISTool"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\Istool; Languages:chs; Check:allversion
  151. Source: "Extend\InnoIDE\CN\*"; DestDir: "{pf}\Inno Tools\InnoIDE\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\InnoIDE; Languages:chs;  Check:allversion
  152. Source: "Extend\InnoIDE\EN\*"; DestDir: "{pf}\Inno Tools\InnoIDE\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\InnoIDE; Languages:en;  Check:allversion
  153. Source: "Extend\Inno Script Studio\*"; DestDir: "{pf}\Inno Tools\Inno Script Studio\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extend\InnoScriptStudio;  Check:allversion
  154. Source: "Extractor\InnoEx\*"; DestDir: "{pf}\Inno Tools\Extractor\InnoEx\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoEx; Check:allversion
  155. Source: "Extractor\InnoExtractor\Main\*"; DestDir: "{pf}\Inno Tools\Extractor\InnoExtractor\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoExtractor; Check:allversion
  156. Source: "Extractor\InnoExtractor\Language\CN\*"; DestDir: "{pf}\Inno Tools\Extractor\InnoExtractor\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoExtractor; Check:allversion; Languages:chs
  157. Source: "Extractor\InnoExtractor\Language\EN\*"; DestDir: "{pf}\Inno Tools\Extractor\InnoExtractor\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Extractor\InnoExtractor; Check:allversion; Languages:en
  158. //第三部分结束//
  159. //第四部分开始//
  160. //插件安装,还有问题
  161. Source: "Plugins\ISSkin\*"; DestDir: "{code:app2}\Examples\ISSkin\"; Flags: ignoreversion recursesubdirs createallsubdirs;components:PluginsII\ISSkin; Check:checkansi
  162. Source: "Plugins\ISSkin\ISSkinEx.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\ISSkin; Check:checkansi
  163. Source: "Plugins\ISSkin\ISSkinExU.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\ISSkin; Check:checkansi
  164. Source: "Plugins\IssProc\*"; DestDir: "{code:app2}\Examples\IssProc\"; Flags: ignoreversion recursesubdirs createallsubdirs;components:PluginsII\IssProc; Check:checkansi
  165. Source: "Plugins\IssProc\IssProc.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\IssProc; Check:checkansi
  166. Source: "Plugins\Webctrl\*"; DestDir: "{code:app2}\Examples\Webctrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\Webctrl; Check:checkansi
  167. Source: "Plugins\Webctrl\Webctrl.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\Webctrl; Check:checkansi
  168. Source: "Plugins\GIFCtrl\*"; DestDir: "{code:app2}\Examples\GIFCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\GIFCtrl; Check:checkansi
  169. Source: "Plugins\GIFCtrl\GIFCtrl.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\GIFCtrl; Check:checkansi
  170. Source: "Plugins\ISCrypt\*"; DestDir: "{code:app2}\Examples\ISCrypt\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\ISCrypt; Check:checkansi
  171. Source: "Plugins\ISCrypt\ISCrypt.dll"; DestDir: "{code:app2}\"; Flags: ignoreversion ;components:PluginsII\ISCrypt; Check:checkansi
  172. Source: "Plugins\DescCtrl\*"; DestDir: "{code:app2}\Examples\DescCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\DescCtrl; Check:checkansi
  173. Source: "Plugins\DescCtrl\DescCtrl.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion ;components:PluginsII\DescCtrl; Check:checkansi
  174. Source: "Plugins\WaterCtrl\*"; DestDir: "{code:app2}\Examples\WaterCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\WaterCtrl; Check:checkansi
  175. Source: "Plugins\WaterCtrl\WaterCtrl.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\WaterCtrl; Check:checkansi
  176. Source: "Plugins\InnoFairy\*"; DestDir: "{code:app2}\Examples\InnoFairy\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\InnoFairy; Check:checkansi
  177. Source: "Plugins\InnoFairy\Fairy.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion ;components:PluginsII\InnoFairy; Check:checkansi
  178. Source: "Plugins\CallbackCtrl\*"; DestDir: "{code:app2}\Examples\CallbackCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:PluginsII\CallbackCtrl; Check:checkansi
  179. Source: "Plugins\CallbackCtrl\CallbackCtrl.dll"; DestDir: "{code:app2}\Plugins\"; Flags: ignoreversion;components:PluginsII\CallbackCtrl; Check:checkansi
  180. Source: "Plugins\CallbackCtrl\InnoCallback\InnoCallback.dll"; DestDir: "{code:app2}\Plugins\"; Flags:ignoreversion; components:PluginsII\CallbackCtrl; Check:checkansi
  181. Source: "Plugins\ISSkin\*"; DestDir: "{app}\Examples\ISSkin\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\ISSkin; Check:checkunicode
  182. Source: "Plugins\ISSkin\ISSkinEx.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\ISSkin; Check:checkunicode
  183. Source: "Plugins\ISSkin\ISSkinExU.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\ISSkin; Check:checkunicode
  184. Source: "Plugins\IssProc\*"; DestDir: "{app}\Examples\IssProc\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\IssProc; Check:checkunicode
  185. Source: "Plugins\IssProc\IssProc.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion ;components:Plugins\IssProc; Check:checkunicode
  186. Source: "Plugins\Webctrl\*"; DestDir: "{app}\Examples\Webctrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\Webctrl; Check:checkunicode
  187. Source: "Plugins\Webctrl\Webctrl.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\Webctrl; Check:checkunicode
  188. Source: "Plugins\GIFCtrl\*"; DestDir: "{app}\Examples\GIFCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\GIFCtrl; Check:checkunicode
  189. Source: "Plugins\GIFCtrl\GIFCtrl.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\GIFCtrl; Check:checkunicode
  190. Source: "Plugins\ISCrypt\*"; DestDir: "{app}\Examples\ISCrypt\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\ISCrypt; Check:checkunicode
  191. Source: "Plugins\ISCrypt\ISCrypt.dll"; DestDir: "{app}\"; Flags: ignoreversion;components:Plugins\ISCrypt; Check:checkunicode
  192. Source: "Plugins\DescCtrl\*"; DestDir: "{app}\Examples\DescCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\DescCtrl; Check:checkunicode
  193. Source: "Plugins\DescCtrl\DescCtrl.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\DescCtrl; Check:checkunicode
  194. Source: "Plugins\WaterCtrl\*"; DestDir: "{app}\Examples\WaterCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\WaterCtrl; Check:checkunicode
  195. Source: "Plugins\WaterCtrl\WaterCtrl.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\WaterCtrl; Check:checkunicode
  196. Source: "Plugins\InnoFairy\*"; DestDir: "{app}\Examples\InnoFairy\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\InnoFairy; Check:checkunicode
  197. Source: "Plugins\InnoFairy\Fairy.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\InnoFairy; Check:checkunicode
  198. Source: "Plugins\CallbackCtrl\*"; DestDir: "{app}\Examples\CallbackCtrl\"; Flags: ignoreversion recursesubdirs createallsubdirs ;components:Plugins\CallbackCtrl; Check:checkunicode
  199. Source: "Plugins\CallbackCtrl\CallbackCtrl.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\CallbackCtrl; Check:checkunicode
  200. Source: "Plugins\CallbackCtrl\InnoCallback\InnoCallback.dll"; DestDir: "{app}\Plugins\"; Flags: ignoreversion;components:Plugins\CallbackCtrl; Check:checkunicode
  201. //注意: 不要在任何共享的系统文件使用 "Flags: ignoreversion"
  202. [Tasks]
  203. //主程序图标
  204. Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";components:ALL\ANSI ALL\Unicode;Flags:checkedonce;Check:not allversion
  205. Name: "desktopicona"; Description: "{cm:CreateDesktopIcona}"; GroupDescription: "{cm:AdditionalIcons}";components:ALL\ANSI; Flags:unchecked;Check:allversion
  206. Name: "desktopiconu"; Description: "{cm:CreateDesktopIconu}"; GroupDescription: "{cm:AdditionalIcons}";components:ALL\Unicode; Flags:checkedonce;Check:allversion
  207. //扩展工具
  208. Name: "IstoolIcon"; Description: "{cm:CreateDesktopIconistool}"; GroupDescription: "{cm:Additionalicons}" ;components:Extend\Istool; Flags:unchecked;
  209. Name: "InnoIDEIcon"; Description: "{cm:CreateDesktopIconIDE}"; GroupDescription: "{cm:Additionalicons}" ;components:Extend\InnoIDE; Flags:unchecked;
  210. Name: "ISStudioIcon"; Description: "{cm:CreateDesktopIconISStudio}"; GroupDescription: "{cm:Additionalicons}";components:Extend\InnoScriptStudio; Flags:unchecked;
  211. //解包工具
  212. Name: "InnoExIcon"; Description: "{cm:CreateDesktopIconInnoEx}"; GroupDescription: "{cm:Additionalicons}";components:Extractor\InnoEx; Flags:unchecked;
  213. Name: "InnoExtractorIcon"; Description: "{cm:CreateDesktopIconInnoExtractor}"; GroupDescription: "{cm:Additionalicons}";components:Extractor\InnoExtractor; Flags:unchecked;
  214. //关联 .iss
  215. Name: "fileassocinno"; Description: "{cm:fileassocinno}"; GroupDescription: "{cm:Additionaltasks}"; components:ALL\ANSI ALL\Unicode; Flags:exclusive;Check:not allversion
  216. Name: "fileassocinnoansi"; Description: "{cm:fileassocinnoansi}"; GroupDescription: "{cm:Additionaltasks}"; components:ALL\ANSI; Flags:exclusive unchecked; Check:allversion
  217. Name: "fileassocinnounicode"; Description: "{cm:fileassocinnounicode}"; GroupDescription: "{cm:Additionaltasks}"; components:ALL\Unicode; Flags:exclusive; Check:allversion
  218. Name: "fileassocistool"; Description: "{cm:fileassocistool}"; GroupDescription: "{cm:Additionaltasks}";components:Extend\Istool; Flags:exclusive unchecked;
  219. Name: "fileassocinnoide"; Description: "{cm:fileassocinnoide}"; GroupDescription: "{cm:Additionaltasks}";components:Extend\InnoIDE; Flags:exclusive unchecked;
  220. Name: "fileassocisstudio"; Description: "{cm:fileassocisstudio}"; GroupDescription: "{cm:Additionaltasks}";components:Extend\InnoScriptStudio; Flags:exclusive unchecked;
  221. //关联 .exe 右键菜单
  222. Name: "fileassocinnoex"; Description: "{cm:fileassocinnoex}"; GroupDescription: "{cm:Additionaltaskstwo}";components:Extractor\InnoEx; Flags:checkedonce
  223. Name: "fileassocinnoextractor"; Description: "{cm:fileassocinnoextractor}"; GroupDescription: "{cm:Additionaltaskstwo}";components:Extractor\InnoExtractor; Flags:checkedonce
  224. [CustomMessages]
  225. //类型自定义消息
  226. en.default=Default installation
  227. chs.default=默认安装
  228. en.custom=Custom installation
  229. chs.custom=自定义安装
  230. //组件自定义消息
  231. en.all=Inno Setup
  232. chs.all=Inno Setup
  233. en.unicode=Unicode Inno Setup
  234. chs.unicode=Unicode 版本
  235. en.unicoderestools=5.5.1 Restools Plus
  236. chs.unicoderestools=5.5.1 Restools 增强版
  237. en.unicodeskygz=5.5.5 Skygz Plus For Chinese User
  238. chs.unicodeskygz=5.5.5 Skygz 增强版
  239. en.unicodeog=5.5.6 Official version
  240. chs.unicodeog=5.5.6 官方原版
  241. en.ANSI=ANSI Inno Setup
  242. chs.ANSI=ANSI 版本
  243. en.ansirestools=5.5.1 Restools Plus
  244. chs.ansirestools=5.5.1 Restools 增强版
  245. en.ansiskygz=5.5.5 Skygz Plus For Chinese User
  246. chs.ansiskygz=5.5.5 Skygz 增强版
  247. en.ansiog=5.5.6 Official version
  248. chs.ansiog=5.5.6 官方原版
  249. //扩展工具开始
  250. en.extend=Extend Tools
  251. chs.extend=扩展工具
  252. en.istool=Istool 5.3.0.1
  253. chs.istool=Istool 5.3.0.1
  254. en.istoolcnone=Chinese
  255. chs.istoolcnone=中文编译版本
  256. en.istoolcntwo=Chinese Language
  257. chs.istoolcntwo=中文语言文件
  258. en.innoide=InnoIDE 1.0.0.78
  259. chs.innoide=InnoIDE 1.0.0.78
  260. en.innoscriptstudio=Inno Script Studio 2.2.1.31
  261. chs.innoscriptstudio=Inno Script Studio 2.2.1.31
  262. //插件开始
  263. en.pluginsII=Plugins For Ansi Version
  264. chs.pluginsII=Ansi 版本插件
  265. en.plugins=Plugins For Unicode Version
  266. chs.plugins=Unicode 版本插件
  267. en.isskin=ISSkin 3.0
  268. chs.isskin=ISSkin 3.0 皮肤
  269. en.webctrl=Webctrl 2.1
  270. chs.webctrl=Webctrl 2.1 网页
  271. en.callbackctrl=CallbackCtrl 1.1
  272. chs.callbackctrl=CallbackCtrl 1.1 回调
  273. en.descctrl=DescCtrl 1.0
  274. chs.descctrl=DescCtrl 1.0 组件描述
  275. en.gifctrl=GIFCtrl 2.1
  276. chs.gifctrl=GIFCtrl 1.2 GIF显示
  277. en.waterctrl=WaterCtrl 2.0
  278. chs.waterctrl=WaterCtrl 2.0 水波
  279. en.innofairy=InnoFairy 2.0
  280. chs.innofairy=InnoFairy 2.0 图像显示
  281. en.IssProc=IssProc 1.1
  282. chs.IssProc=IssProc 1.1 进程检测
  283. en.ISCrypt=ISCrypt 2004
  284. chs.ISCrypt=ISCrypt 2004 加密
  285. //解包工具开始
  286. en.extrator=Inno Setup Extractor
  287. chs.extrator=解包工具
  288. en.innoex=InnoEx 0.8
  289. chs.innoex=InnoEx 0.8
  290. en.innoextractor=InnoExtractor 1.8.2
  291. chs.innoextractor=InnoExtractor 1.8.2
  292. //快捷方式
  293. en.innoname=Inno Setup Compiler
  294. chs.innoname=Inno Setup 编译器
  295. en.innonamea=Ansi Inno Setup Compiler
  296. chs.innonamea=Ansi Inno Setup 编译器
  297. en.innonameu=Unicode Inno Setup Compiler
  298. chs.innonameu=Unicode Inno Setup 编译器
  299. en.innosuite=Inno Setup Suite
  300. chs.innosuite=Inno Setup Suite
  301. //快捷方式
  302. en.CreateDesktopIcon=Create a &desktop icon for Inno Setup
  303. chs.CreateDesktopIcon=为 Inno Setup 创建桌面快捷方式(&D)
  304. en.CreateDesktopIcona=Create a &desktop icon for Ansi Inno Setup
  305. chs.CreateDesktopIcona=为 Ansi Inno Setup 创建桌面快捷方式(&D)
  306. en.CreateDesktopIconu=Create a &desktop icon for Unicode Inno Setup
  307. chs.CreateDesktopIconu=为 Unicode Inno Setup 创建桌面快捷方式(&D)
  308. en.CreateDesktopIconistool=Create a &desktop icon for Istool
  309. chs.CreateDesktopIconistool=为 Istool 创建桌面快捷方式(&D)
  310. en.CreateDesktopIconIDE=Create a &desktop icon for InnoIDE
  311. chs.CreateDesktopIconIDE=为 InnoIDE 创建桌面快捷方式(&D)
  312. en.CreateDesktopIconISStudio=Create a &desktop icon for Inno Script Studio
  313. chs.CreateDesktopIconISStudio=为 Inno Script Studio 创建桌面快捷方式(&D)
  314. en.CreateDesktopIconInnoEx=Create a &desktop icon for InnoEx
  315. chs.CreateDesktopIconInnoEx=为 InnoEx 创建桌面快捷方式(&D)
  316. en.CreateDesktopIconInnoExtractor=Create a &desktop icon for InnoExtractor
  317. chs.CreateDesktopIconInnoExtractor=为 InnoExtractor 创建桌面快捷方式(&D)
  318. en.Additionalicons=Additional icons
  319. chs.Additionalicons=创建快捷方式
  320. en.Additionaltasks=Create File Associations
  321. chs.Additionaltasks=创建文件关联
  322. en.Additionaltaskstwo=Add context menu
  323. chs.Additionaltaskstwo=添加右键菜单
  324. chs.fileassocinno=关联 .iss 文件到 Inno Setup
  325. en.fileassocinno=&Associate Inno Setup with the .iss file extension
  326. chs.fileassocinnoansi=关联 .iss 文件到 Ansi Inno Setup
  327. en.fileassocinnoansi=&Associate Ansi Inno Setup with the .iss file extension
  328. chs.fileassocinnounicode=关联 .iss 文件到 Unicode Inno Setup
  329. en.fileassocinnounicode=&Associate Unicode Inno Setup  with the .iss file extension
  330. chs.fileassocistool=关联 .iss 文件到 Istool
  331. en.fileassocistool=&Associate Istool with the .iss file extension
  332. chs.fileassocinnoide=关联 .iss 文件到 InnoIDE
  333. en.fileassocinnoide=&Associate InnoIDE with the .iss file extension
  334. chs.fileassocisstudio=关联 .iss 文件到 Inno Script Studio
  335. en.fileassocisstudio=&Associate Inno Script Studio with the .iss file extension
  336. en.fileassocinnoex=Add InnoEx to .exe file context menu
  337. chs.fileassocinnoex=把 InnoEx 添加到 .exe 文件右键菜单
  338. en.fileassocinnoextractor=Add InnoExtractor to .exe file context menu
  339. chs.fileassocinnoextractor=把 InnoExtractor 添加到 .exe 文件右键菜单
  340. //Run 段关联状态消息
  341. //en.AssocingFileExtensiona=Associating Inno Setup with the .iss file extension…
  342. //chs.AssocingFileExtensiona=正在关联 .iss 文件到 Inno Setup…
  343. en.LaunchProgram=Launch Inno Setup Compiler
  344. chs.LaunchProgram=运行 Inno Setup 编译器
  345. en.LaunchPrograma=Launch Ansi Inno Setup Compiler
  346. chs.LaunchPrograma=运行 Ansi Inno Setup 编译器
  347. en.LaunchProgramu=Launch Unicode Inno Setup Compiler
  348. chs.LaunchProgramu=运行 Unicode Inno Setup 编译器
  349. en.LaunchProgramistool=Launch ISTool
  350. chs.LaunchProgramistool=运行 ISTool
  351. en.LaunchPrograminnoide=Launch InnoIDE
  352. chs.LaunchPrograminnoide=运行 InnoIDE
  353. en.LaunchProgramisstudio=Launch Inno Script Studio
  354. chs.LaunchProgramisstudio=运行 Inno Script Studio
  355. en.selectpathhint=If you want to install two versions at the same time, please select Ansi Inno Setup Installpath.
  356. chs.selectpathhint=如果您要同时安装两个版本,请选择 Ansi 版本安装目录。
  357. en.selectpath=Please select the Ansi Inno Setup Installpath.
  358. chs.selectpath=请选择一个目录安装 Ansi Inno Setup.
  359. en.browsepath=Brow&se…
  360. chs.browsepath=浏览(S)...
  361. en.openwithinnoextractor=Open with &InnoExtractor
  362. chs.openwithinnoextractor=使用 InnoExtractor 打开(&I)
  363. en.openwithinnoex=Open with &InnoEx
  364. chs.openwithinnoex=使用 InnoEx 打开(&I)
  365. en.InnoSetupScriptFile=Inno Setup Script
  366. chs.InnoSetupScriptFile=Inno Setup 脚本
  367. en.innoCompile=Compi&le
  368. chs.innoCompile=编译(&L)
  369. en.OpenWithInnoSetup=Open With &Inno Setup
  370. chs.OpenWithInnoSetup=用 Inno Setup 打开(&I)
  371. en.OpenWithISTool=Open with &ISTool
  372. chs.OpenWithISTool=用 ISTool 打开(&I)
  373. en.OpenWithInnoIDE=Open with &InnoIDE
  374. chs.OpenWithInnoIDE=用 InnoIDE 打开(&I)
  375. en.OpenWithISStudio=Open with &Inno Script Studio
  376. chs.OpenWithISStudio=用 Inno Script Studio 打开(&I)
  377. en.uninshint=Please click 'OK' to uninstall the installed version before installation.%n%nor Please click 'Cancel' to exit setup.
  378. chs.uninshint=请点击 '确定' 卸载已安装版本后继续安装.%n%n或点击 '取消' 退出安装程序.
  379. [Messages]
  380. chs.BeveledLabel=飞华逐梦
  381. en.BeveledLabel=Dream
  382. chs.SetupAppRunningError=安装程序已经在运行.%n%n请按“取消”退出.
  383. en.SetupAppRunningError=Setup is already running. %n%nPlease click "cancel" to exit setup.
  384. [icons]
  385. //主程序图标
  386. //第一种情况,没有同时安装两个版本,安装目录相同,只需判断是否是 Restools 版本
  387. Name: "{group}\{cm:innoname}"; Filename: "{app}\Compil32.exe" ; WorkingDir: {app} ; Check:not allversion ;components:ALL\ANSI ALL\Unicode
  388. Name: "{group}\{cm:UninstallProgram,{cm:innosuite}}"; Filename: "{uninstallexe}"; WorkingDir: {app} ; Check:not allversion ;components:ALL\ANSI ALL\Unicode
  389. Name: "{commondesktop}\{cm:innoname}"; Filename: "{app}\Compil32.exe"; Tasks: desktopicon ;WorkingDir: {app} ; Check:not allversion ;components:ALL\ANSI ALL\Unicode
  390. //第二种情况,同时安装了两个版本,由于 ANSI 版本目录在 {CODE:APP2} ,所以加上 Restools 判断共  4  种情况
  391. Name: "{group}\{cm:UninstallProgram,{cm:innosuite}}"; Filename: "{uninstallexe}"; components: ALL ;WorkingDir: {app} ; Check: allversion
  392. Name: "{group}\{cm:innonamea}"; Filename: "{code:app2}\Compil32.exe" ;WorkingDir: {code:app2} ; Check:allversion and checkansi ;components:ALL\ANSI
  393. Name: "{commondesktop}\{cm:innonamea}"; Filename: "{code:app2}\Compil32.exe"; Tasks: desktopicona ;WorkingDir: {code:app2} ; Check:allversion and checkansi ;components:ALL\ANSI
  394. Name: "{group}\{cm:innonameu}"; Filename: "{app}\Compil32.exe" ;WorkingDir: {app} ; Check:allversion and checkunicode ;components:ALL\Unicode
  395. Name: "{commondesktop}\{cm:innonameu}"; Filename: "{app}\Compil32.exe"; Tasks: desktopiconu ;WorkingDir: {app} ; Check:allversion and checkunicode ;components:ALL\Unicode
  396. //扩展工具图标
  397. //第一种情况,没有同时安装,安装目录相同,都在 {app}
  398. Name: "{group}\{cm:istool}"; Filename: "{app}\Extend\Istool\ISTool.exe" ;WorkingDir: {app}\Extend\Istool ; Check:not allversion; components:Extend\Istool
  399. Name: "{commondesktop}\{cm:istool}"; Filename: "{app}\Extend\Istool\ISTool.exe"; Tasks: IstoolIcon ;WorkingDir: {app}\Extend\Istool ; Check:not allversion; components:Extend\Istool
  400. Name: "{group}\{cm:innoide}"; Filename: "{app}\Extend\InnoIDE\InnoIDE.exe" ;WorkingDir: {app}\Extend\InnoIDE ; Check:not allversion;components:Extend\InnoIDE
  401. Name: "{commondesktop}\{cm:innoide}"; Filename: "{app}\Extend\InnoIDE\InnoIDE.exe"; Tasks: InnoIDEIcon ;WorkingDir: {app}\Extend\InnoIDE ; Check:not allversion;components:Extend\InnoIDE
  402. Name: "{group}\{cm:innoscriptstudio}"; Filename: "{app}\Extend\Inno Script Studio\ISStudio.exe" ;WorkingDir: {app}\Extend\Inno Script Studio ; Check:not allversion;components:Extend\InnoScriptStudio
  403. Name: "{commondesktop}\{cm:innoscriptstudio}"; Filename: "{app}\Extend\Inno Script Studio\ISStudio.exe"; Tasks: ISStudioIcon ;WorkingDir: {app}\Extend\Inno Script Studio ; Check:not allversion;components:Extend\InnoScriptStudio
  404. //第二种情况,同时安装,提取出来,单独安装到 {pf}\Inno Tools 下
  405. Name: "{group}\{cm:istool}"; Filename: "{pf}\Inno Tools\Istool\ISTool.exe" ;WorkingDir: {pf}\Inno Tools\Istool ; Check:allversion ;components:Extend\Istool
  406. Name: "{commondesktop}\{cm:istool}"; Filename: "{pf}\Inno Tools\Istool\ISTool.exe"; Tasks: IstoolIcon ;WorkingDir: {pf}\Inno Tools\Istool ; Check:allversion ;components:Extend\Istool
  407. Name: "{group}\{cm:innoide}"; Filename: "{pf}\Inno Tools\InnoIDE\InnoIDE.exe" ;WorkingDir: {pf}\Inno Tools\InnoIDE ; Check:allversion ;components:Extend\InnoIDE
  408. Name: "{commondesktop}\{cm:innoide}"; Filename: "{pf}\Inno Tools\InnoIDE\InnoIDE.exe"; Tasks: InnoIDEIcon ;WorkingDir: {pf}\Inno Tools\InnoIDE ; Check:allversion ;components:Extend\InnoIDE
  409. Name: "{group}\{cm:innoscriptstudio}"; Filename: "{pf}\Inno Tools\Inno Script Studio\ISStudio.exe" ;WorkingDir: {pf}\Inno Tools\Inno Script Studio ; Check:allversion ;components:Extend\InnoScriptStudio
  410. Name: "{commondesktop}\{cm:innoscriptstudio}"; Filename: "{pf}\Inno Tools\Inno Script Studio\ISStudio.exe"; Tasks: ISStudioIcon ;WorkingDir: {pf}\Inno Tools\Inno Script Studio ; Check:allversion ;components:Extend\InnoScriptStudio
  411. //解包工具图标
  412. //第一种情况,没有同时安装,安装目录相同,都在 {app}
  413. Name: "{group}\{cm:innoex}"; Filename: "{app}\Extractor\InnoEx\InnoEx.exe" ; WorkingDir: {app}\Extractor\InnoEx ; Check:not allversion;components:Extractor\InnoEx
  414. Name: "{commondesktop}\{cm:innoex}"; Filename: "{app}\Extractor\InnoEx\InnoEx.exe"; Tasks: InnoExIcon ;WorkingDir: {app}\Extractor\InnoEx ; Check:not allversion;components:Extractor\InnoEx
  415. Name: "{group}\{cm:innoextractor}"; Filename: "{app}\Extractor\InnoExtractor\InnoExtractor.exe" ; WorkingDir: {app}\Extractor\InnoExtractor ; Check:not allversion;components:Extractor\InnoExtractor
  416. Name: "{commondesktop}\{cm:innoextractor}"; Filename: "{app}\Extractor\InnoExtractor\InnoExtractor.exe"; Tasks: InnoExtractorIcon ;WorkingDir: {app}\Extractor\InnoExtractor ; Check:not allversion;components:Extractor\InnoExtractor
  417. //第二种情况,同时安装,提取出来,单独安装到 {pf}\Inno Tools 下
  418. Name: "{group}\{cm:innoex}"; Filename: "{pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe" ; WorkingDir: {pf}\Inno Tools\Extractor\InnoEx ; Check:allversion;components:Extractor\InnoEx
  419. Name: "{commondesktop}\{cm:innoex}"; Filename: "{pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe"; Tasks: InnoExIcon ;WorkingDir: {pf}\Inno Tools\Extractor\InnoEx ; Check:allversion;components:Extractor\InnoEx
  420. Name: "{group}\{cm:innoextractor}"; Filename: "{pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe" ; WorkingDir: {pf}\Inno Tools\Extractor\InnoExtractor ; Check:allversion;components:Extractor\InnoExtractor
  421. Name: "{commondesktop}\{cm:innoextractor}"; Filename: "{pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe"; Tasks: InnoExtractorIcon ;WorkingDir: {pf}\Inno Tools\Extractor\InnoExtractor ; Check:allversion;components:Extractor\InnoExtractor
  422. [INI]
  423. //Istool//
  424. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageFile"; String: "{app}\Extend\Istool\istool-cn.lng"; Flags:uninsdeletesection; Languages:chs; components:Extend\Istool\cntwo ;Check:not allversion
  425. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageFile"; String: "{pf}\Inno Tools\Istool\istool-cn.lng"; Flags:uninsdeletesection; Languages:chs; components:Extend\Istool\cntwo ;Check:allversion
  426. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageFile"; String: "{app}\Extend\Istool\istool-en.lng"; Flags:uninsdeletesection; Languages:en; components:Extend\Istool ;Check:not allversion
  427. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageFile"; String: "{pf}\Inno Tools\Istool\istool-en.lng"; Flags:uninsdeletesection; Languages:en; components:Extend\Istool ;Check:allversion
  428. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "InnoFolder"; String: "{app}"; Flags:uninsdeletesection; components:Extend\Istool
  429. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "ScriptFolder"; String: "{app}\Examples"; Flags:uninsdeletesection; components:Extend\Istool
  430. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageDirCount"; String: "2"; Flags:uninsdeletesection; components:Extend\Istool
  431. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageDir00"; String: "{app}"; Flags:uninsdeletesection; components:Extend\Istool
  432. FileName: "{userappdata}\ISTool\ISTool.ini"; Section: "prefs"; Key: "LanguageDir01"; String: "{app}\Languages"; Flags:uninsdeletesection; components:Extend\Istool
  433. //InnoIDE//
  434. FileName: "{userappdata}\InnoIDE\settings.ini"; Section: "settings"; Key: "compiler_dir"; String: "{app}"; Flags:createkeyifdoesntexist uninsdeletesection; components:Extend\InnoIDE
  435. //Inno Script Studio 2//,如果这样则要重新在 ini 文件中设置语言等,这是制作便携版
  436. //FileName: "{app}\Extend\Inno Script Studio\Settings.ini"; Section: "Portable"; Key: "Portable"; String: "1"; Flags: createkeyifdoesntexist ;Check:not allversion ;components:Extend\InnoScriptStudio
  437. //FileName: "{pf}\Inno Tools\Inno Script Studio\Settings.ini"; Section: "Portable"; Key: "Portable"; String: "1"; Flags: createkeyifdoesntexist ;Check:allversion ;components:Extend\InnoScriptStudio
  438. [InstallDelete]
  439. Type: filesandordirs; Name: "{userappdata}\ISTool" ; components:Extend\Istool
  440. Type: filesandordirs; Name: "{userappdata}\InnoIDE" ; Languages:chs; components:Extend\InnoIDE
  441. Type: filesandordirs; Name: "{userappdata}\Kymoto Solutions" ; components:Extend\InnoScriptStudio
  442. Type: filesandordirs; Name: "{pf}\Inno Tools" ; components:Extend Extractor;Check:allversion
  443. Type: filesandordirs; Name: "{app}\Extend" ; components:Extend Extractor;Check:not allversion
  444. Type: filesandordirs; Name: "{app}\Extractor" ; components:Extend Extractor;Check:not allversion
  445. Type: filesandordirs; Name: "{userdocs}\Kymoto Solutions\ISStudio" ; components:Extend\InnoScriptStudio
  446. Type: dirifempty;     Name: "{userdocs}\Kymoto Solutions" ; components:Extend\InnoScriptStudio
  447. Type: filesandordirs; Name: "{userdocs}\Inno Setup Examples Output" ;
  448. Type: filesandordirs; Name: "{app}\Examples\Output" ;
  449. Type: filesandordirs; Name: "{code:app2}\Examples\Output" ;Check:allversion
  450. Type: files;          Name: "{app}\Config.ini"; components:ALL\Unicode\skygz ALL\ANSI\skygz ;Check:not allversion
  451. Type: files;          Name: "{app}\Config.ini"; components:ALL\Unicode\skygz ;Check:allversion
  452. Type: files;          Name: "{code:app2}\Config.ini"; components:ALL\ANSI\skygz ;Check:allversion
  453. [UninstallDelete]
  454. //清理扩展工具配置目录,解包工具资源存放目录
  455. Type: filesandordirs; Name: "{userappdata}\ISTool" ; components:Extend\Istool
  456. Type: filesandordirs; Name: "{userappdata}\InnoIDE" ; Languages:chs; components:Extend\InnoIDE
  457. Type: filesandordirs; Name: "{userappdata}\Kymoto Solutions" ; components:Extend\InnoScriptStudio
  458. Type: filesandordirs; Name: "{userdocs}\InnoExtractor" ; components:Extractor\InnoExtractor
  459. Type: filesandordirs; Name: "{pf}\Inno Tools" ; components:Extend Extractor;Check:allversion
  460. Type: filesandordirs; Name: "{app}\Extend" ; components:Extend Extractor;Check:not allversion
  461. Type: filesandordirs; Name: "{app}\Extractor" ; components:Extend Extractor;Check:not allversion
  462. Type: filesandordirs; Name: "{userdocs}\Kymoto Solutions\ISStudio" ; components:Extend\InnoScriptStudio
  463. Type: dirifempty;     Name: "{userdocs}\Kymoto Solutions" ; components:Extend\InnoScriptStudio
  464. Type: filesandordirs; Name: "{userdocs}\Inno Setup Examples Output" ;
  465. Type: filesandordirs; Name: "{app}\Examples\Output" ;
  466. Type: filesandordirs; Name: "{code:app2}\Examples\Output" ;Check:allversion
  467. Type: files;          Name: "{app}\Config.ini"; components:ALL\Unicode\skygz ALL\ANSI\skygz ;Check:not allversion
  468. Type: files;          Name: "{app}\Config.ini"; components:ALL\Unicode\skygz ;Check:allversion
  469. Type: files;          Name: "{code:app2}\Config.ini"; components:ALL\ANSI\skygz ;Check:allversion
  470. [Run]
  471. //运行主程序//
  472. Filename: "{app}\{#MyAppExeName}";WorkingDir: "{app}"; Description: "{cm:LaunchProgram}";  Components:ALL\ANSI ALL\Unicode; Flags:postinstall skipifsilent nowait; Check:not allversion
  473. Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; Description: "{cm:LaunchProgramu}"; Components:ALL\Unicode; Flags: postinstall skipifsilent nowait; Check:allversion and checkunicode
  474. Filename: "{code:app2}\{#MyAppExeName}"; WorkingDir: "{code:app2}"; Description: "{cm:LaunchPrograma}"; Components:ALL\ANSI; Flags: postinstall skipifsilent nowait unchecked; Check:allversion and checkansi
  475. //运行主程序//
  476. Filename: "{app}\Extend\Istool\ISTool.exe";WorkingDir: "{app}\Extend\Istool"; Description: "{cm:LaunchProgramistool}";  Components:Extend\Istool; Flags:postinstall skipifsilent nowait unchecked; Check:not allversion
  477. Filename: "{pf}\Inno Tools\Istool\ISTool.exe";WorkingDir: "{pf}\Inno Tools\Istool"; Description: "{cm:LaunchProgramistool}";  Components:Extend\Istool; Flags:postinstall skipifsilent nowait unchecked; Check:allversion
  478. Filename: "{app}\Extend\InnoIDE\InnoIDE.exe";WorkingDir: "{app}\Extend\InnoIDE"; Description: "{cm:LaunchPrograminnoide}";  Components:Extend\InnoIDE; Flags:postinstall skipifsilent nowait unchecked; Check:not allversion
  479. Filename: "{pf}\Inno Tools\InnoIDE\InnoIDE.exe";WorkingDir: "{pf}\Inno Tools\InnoIDE"; Description: "{cm:LaunchPrograminnoide}";  Components:Extend\InnoIDE; Flags:postinstall skipifsilent nowait unchecked; Check:allversion
  480. Filename: "{app}\Extend\Inno Script Studio\ISStudio.exe";WorkingDir: "{app}\Extend\Inno Script Studio"; Description: "{cm:LaunchProgramisstudio}";  Components:Extend\InnoScriptStudio; Flags:postinstall skipifsilent nowait unchecked; Check:not allversion
  481. Filename: "{pf}\Inno Tools\Inno Script Studio\ISStudio.exe";WorkingDir: "{pf}\Inno Tools\Inno Script Studio"; Description: "{cm:LaunchProgramisstudio}";  Components:Extend\InnoScriptStudio; Flags:postinstall skipifsilent nowait unchecked; Check:allversion


下载地址:http://yunpan.cn/c3XjQaQkStxSS (提取码:80f2),转载请注明网址!


本帖提到的人: @gnatix
离线546242502

发帖
332
金钱
-3060
威望
-306
只看该作者 1 发表于: 2015-12-14
帖子有字数限制,第二段代码:
  1. [Registry]
  2. //Inno Setup//
  3. Root: HKCU; SubKey: Software\Jordan Russell; Flags: uninsdeletekeyifempty
  4. Root: HKCU; SubKey: Software\Jordan Russell\Inno Setup; Flags: uninsdeletekey
  5. //不显示欢迎对话框
  6. Root: HKCU; SubKey: Software\Jordan Russell\Inno Setup\Options; ValueType: string; ValueName: ShowStartupForm; ValueData:"0"; Flags: uninsdeletekey
  7. //Win 8 以上系统设置以管理员运行
  8. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{app}\{#MyAppExeName}; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:ALL\Unicode;
  9. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{code:app2}\{#MyAppExeName}; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:ALL\ANSI;
  10. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{pf}\Inno Tools\Istool\ISTool.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:Extend\Istool; Check:allversion
  11. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{app}\Extend\Istool\ISTool.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:Extend\Istool; Check:not allversion
  12. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{pf}\Inno Tools\InnoIDE\InnoIDE.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:Extend\InnoIDE; Check:allversion
  13. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{app}\Extend\InnoIDE\InnoIDE.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:Extend\InnoIDE; Check:not allversion
  14. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{pf}\Inno Tools\Inno Script Studio\ISStudio.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:Extend\InnoScriptStudio; Check:allversion
  15. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{app}\Extend\Inno Script Studio\ISStudio.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; Components:Extend\InnoScriptStudio; Check:not allversion
  16. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ;components:Extractor\InnoEx; Check:allversion
  17. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{app}\Extractor\InnoEx\InnoEx.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ;components:Extractor\InnoEx; Check:not allversion
  18. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; components:Extractor\InnoExtractor; Check:allversion
  19. Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName:{app}\Extractor\InnoExtractor\InnoExtractor.exe; ValueData: RUNASADMIN ;Flags: uninsdeletevalue ; components:Extractor\InnoExtractor; Check:not allversion
  20. //Inno Setup//
  21. //Inno Script Studio 2//
  22. Root: "HKCU"; Subkey: "Software\Kymoto Solutions"; Flags: uninsdeletekeyifempty ;components:Extend\InnoScriptStudio
  23. Root: "HKCU"; Subkey: "Software\Kymoto Solutions\Inno Script Studio 2"; Flags: deletekey ;components:Extend\InnoScriptStudio
  24. Root: "HKCU"; Subkey: "Software\Kymoto Solutions\Inno Script Studio 2"; Flags: uninsdeletekey ;components:Extend\InnoScriptStudio
  25. //设置为简体中文,记得在主程序目录下添加 Languages 文件夹,把语言文件添加进去
  26. Root: "HKCU"; Subkey: "Software\Kymoto Solutions\Inno Script Studio 2\Options"; ValueType: dword; ValueName: "Language"; ValueData: "$00000804"; Flags: uninsdeletekey; Languages:chs ;components:Extend\InnoScriptStudio
  27. //不显示欢迎对话框
  28. Root: "HKCU"; Subkey: "Software\Kymoto Solutions\Inno Script Studio 2\Options"; ValueType: dword; ValueName: "StartUpType"; ValueData: "$00000002"; Flags: uninsdeletekey ;components:Extend\InnoScriptStudio
  29. Root: "HKCU"; Subkey: "Software\Kymoto Solutions\Inno Script Studio 2\Options\Compiler"; ValueType: string; ValueName: "InnoCompilerPath"; ValueData: "{app}"; Flags: uninsdeletekey ;components:Extend\InnoScriptStudio
  30. //同时安装时设置为 ANSI 版本安装路径,默认 Unicode 版本
  31. //Root: "HKCU"; Subkey: "Software\Kymoto Solutions\Inno Script Studio 2\Options\Compiler"; ValueType: string; ValueName: "InnoCompilerPath"; ValueData: "{code:app2}"; Flags: uninsdeletekey ;components:Extend\InnoScriptStudio
  32. //Inno Script Studio 2//
  33. //ISSkin 皮肤//
  34. Root: HKLM; SubKey: SOFTWARE\Classes\.cjstyles; ValueType: string; ValueData: SkinBuilder.StyleDocument; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  35. Root: HKLM; SubKey: SOFTWARE\Classes\.cjstyles\ShellNew; ValueType: string; ValueName: NullFile; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  36. Root: HKLM; SubKey: SOFTWARE\Classes\.skinproj; ValueType: string; ValueData: SkinBuilder.Document; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  37. Root: HKLM; SubKey: SOFTWARE\Classes\.skinproj\ShellNew; ValueType: string; ValueName: NullFile; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  38. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document; ValueType: string; ValueData: Skin Builder Project; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  39. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\DefaultIcon; ValueType: string; ValueData: {code:app2}\Examples\ISSkin\SkinBuilder.exe,1; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  40. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  41. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\open; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  42. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\open\command; ValueType: string; ValueData: "{code:app2}\Examples\ISSkin\SkinBuilder.exe ""%1"""; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  43. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\print; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  44. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\print\command; ValueType: string; ValueData: "{code:app2}\Examples\ISSkin\SkinBuilder.exe /p ""%1"""; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  45. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\printto; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  46. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\printto\command; ValueType: string; ValueData: "{code:app2}\Examples\ISSkin\SkinBuilder.exe /pt ""%1"" ""%2"" ""%3"" ""%4"""; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  47. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument; ValueType: string; ValueData: Skin Builder Style Project; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  48. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\DefaultIcon; ValueType: string; ValueData: {code:app2}\Examples\ISSkin\SkinBuilder.exe,2; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  49. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  50. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\open; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  51. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\open\command; ValueType: string; ValueData: "{code:app2}\Examples\ISSkin\SkinBuilder.exe ""%1"""; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  52. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\print; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  53. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\print\command; ValueType: string; ValueData: "{code:app2}\Examples\ISSkin\SkinBuilder.exe /p ""%1"""; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  54. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\printto; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  55. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\printto\command; ValueType: string; ValueData: "{code:app2}\Examples\ISSkin\SkinBuilder.exe /pt ""%1"" ""%2"" ""%3"" ""%4"""; Components:PluginsII\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty ;Check:not allversion
  56. Root: HKCU; SubKey: Software\Codejock Software Applications\Codejock Skin Builder; Components:PluginsII\ISSkin; Flags: uninsdeletekey ;Check:not allversion
  57. Root: HKCU; SubKey: Software\Codejock Software Applications; Components:PluginsII\ISSkin; Flags: uninsdeletekeyifempty ;Check:not allversion
  58. Root: HKLM; SubKey: SOFTWARE\Classes\.cjstyles; ValueType: string; ValueData: SkinBuilder.StyleDocument; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  59. Root: HKLM; SubKey: SOFTWARE\Classes\.cjstyles\ShellNew; ValueType: string; ValueName: NullFile; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  60. Root: HKLM; SubKey: SOFTWARE\Classes\.skinproj; ValueType: string; ValueData: SkinBuilder.Document; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  61. Root: HKLM; SubKey: SOFTWARE\Classes\.skinproj\ShellNew; ValueType: string; ValueName: NullFile; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  62. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document; ValueType: string; ValueData: Skin Builder Project; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  63. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\DefaultIcon; ValueType: string; ValueData: {app}\Examples\ISSkin\SkinBuilder.exe,1; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  64. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  65. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\open; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  66. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\open\command; ValueType: string; ValueData: "{app}\Examples\ISSkin\SkinBuilder.exe ""%1"""; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  67. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\print; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  68. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\print\command; ValueType: string; ValueData: "{app}\Examples\ISSkin\SkinBuilder.exe /p ""%1"""; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  69. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\printto; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  70. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.Document\shell\printto\command; ValueType: string; ValueData: "{app}\Examples\ISSkin\SkinBuilder.exe /pt ""%1"" ""%2"" ""%3"" ""%4"""; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  71. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument; ValueType: string; ValueData: Skin Builder Style Project; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  72. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\DefaultIcon; ValueType: string; ValueData: {app}\Examples\ISSkin\SkinBuilder.exe,2; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  73. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  74. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\open; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  75. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\open\command; ValueType: string; ValueData: "{app}\Examples\ISSkin\SkinBuilder.exe ""%1"""; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  76. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\print; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  77. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\print\command; ValueType: string; ValueData: "{app}\Examples\ISSkin\SkinBuilder.exe /p ""%1"""; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  78. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\printto; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  79. Root: HKLM; SubKey: SOFTWARE\Classes\SkinBuilder.StyleDocument\shell\printto\command; ValueType: string; ValueData: "{app}\Examples\ISSkin\SkinBuilder.exe /pt ""%1"" ""%2"" ""%3"" ""%4"""; Components:Plugins\ISSkin; Flags: uninsdeletevalue uninsdeletekeyifempty
  80. Root: HKCU; SubKey: Software\Codejock Software Applications\Codejock Skin Builder; Components:Plugins\ISSkin; Flags: uninsdeletekey
  81. Root: HKCU; SubKey: Software\Codejock Software Applications; Components:Plugins\ISSkin; Flags: uninsdeletekeyifempty
  82. //ISSkin 皮肤//
  83. //InnoExtractor 关联 exe 右键菜单//
  84. Root: HKCR; SubKey: exefile\shell\InnoExtractor; Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor
  85. Root: HKCR; SubKey: exefile\shell\InnoExtractor; Flags: deletekey noerror ;components:Extractor\InnoExtractor
  86. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor; Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor
  87. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor; Flags: deletekey noerror ;components:Extractor\InnoExtractor
  88. Root: HKCR; SubKey: exefile\shell\InnoExtractor; ValueType: string; ValueName: ; ValueData: {cm:openwithinnoextractor} ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor; Tasks:fileassocinnoextractor;
  89. Root: HKCR; SubKey: exefile\shell\InnoExtractor; ValueType: string; ValueName: Icon; ValueData: {app}\Extractor\InnoExtractor\InnoExtractor.exe,0 ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check:not allversion ; Tasks:fileassocinnoextractor;
  90. Root: HKCR; SubKey: exefile\shell\InnoExtractor\command; ValueType: string; ValueName: ; ValueData: "{app}\Extractor\InnoExtractor\InnoExtractor.exe ""%1""" ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check:not allversion; Tasks:fileassocinnoextractor;
  91. Root: HKCR; SubKey: exefile\shell\InnoExtractor; ValueType: string; ValueName: Icon; ValueData: {pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe,0 ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check: allversion; Tasks:fileassocinnoextractor;
  92. Root: HKCR; SubKey: exefile\shell\InnoExtractor\command; ValueType: string; ValueName: ; ValueData: "{pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe ""%1""" ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check: allversion; Tasks:fileassocinnoextractor;
  93. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor; ValueType: string; ValueName: ; ValueData: {cm:openwithinnoextractor} ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor; Tasks:fileassocinnoextractor;
  94. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor; ValueType: string; ValueName: Icon; ValueData: {app}\Extractor\InnoExtractor\InnoExtractor.exe,0 ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check:not allversion; Tasks:fileassocinnoextractor;
  95. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor\command; ValueType: string; ValueName: ; ValueData: "{app}\Extractor\InnoExtractor\InnoExtractor.exe ""%1""" ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check:not allversion; Tasks:fileassocinnoextractor;
  96. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor; ValueType: string; ValueName: Icon; ValueData: {pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe,0 ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check: allversion; Tasks:fileassocinnoextractor;
  97. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoExtractor\command; ValueType: string; ValueName: ; ValueData: "{pf}\Inno Tools\Extractor\InnoExtractor\InnoExtractor.exe ""%1""" ;Flags: uninsdeletekey noerror ;components:Extractor\InnoExtractor ;Check: allversion; Tasks:fileassocinnoextractor;
  98. //InnoEx 关联 exe 右键菜单//
  99. Root: HKCR; SubKey: exefile\shell\InnoEx; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx
  100. Root: HKCR; SubKey: exefile\shell\InnoEx; Flags: deletekey noerror ;components:Extractor\InnoEx
  101. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx
  102. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx; Flags: deletekey noerror ;components:Extractor\InnoEx
  103. Root: HKCR; SubKey: exefile\shell\InnoEx; ValueType: string; ValueName: ; ValueData: {cm:openwithinnoex} ;Flags: uninsdeletekey noerror ;components:Extractor\InnoEx; Tasks:fileassocinnoex;
  104. Root: HKCR; SubKey: exefile\shell\InnoEx; ValueType: string; ValueName: Icon; ValueData: {app}\Extractor\InnoEx\InnoEx.exe,0; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:not allversion; Tasks:fileassocinnoex;
  105. Root: HKCR; SubKey: exefile\shell\InnoEx\command; ValueType: string; ValueName: ; ValueData: "{app}\Extractor\InnoEx\InnoEx.exe ""%1"""; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:not allversion; Tasks:fileassocinnoex;
  106. Root: HKCR; SubKey: exefile\shell\InnoEx; ValueType: string; ValueName: Icon; ValueData: {pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe,0; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:allversion; Tasks:fileassocinnoex;
  107. Root: HKCR; SubKey: exefile\shell\InnoEx\command; ValueType: string; ValueName: ; ValueData: "{pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe ""%1"""; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:allversion; Tasks:fileassocinnoex;
  108. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx; ValueType: string; ValueName: ; ValueData: {cm:openwithinnoex} ;Flags: uninsdeletekey noerror ;components:Extractor\InnoEx; Tasks:fileassocinnoex;
  109. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx; ValueType: string; ValueName: Icon; ValueData: {app}\Extractor\InnoEx\InnoEx.exe,0; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:not allversion; Tasks:fileassocinnoex;
  110. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx\command; ValueType: string; ValueName: ; ValueData: "{app}\Extractor\InnoEx\InnoEx.exe ""%1"""; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:not allversion; Tasks:fileassocinnoex;
  111. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx; ValueType: string; ValueName: Icon; ValueData: {pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe,0; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:allversion; Tasks:fileassocinnoex;
  112. Root: HKCU; SubKey: Software\Classes\exefile\shell\InnoEx\command; ValueType: string; ValueName: ; ValueData: "{pf}\Inno Tools\Extractor\InnoEx\InnoEx.exe ""%1"""; Flags: uninsdeletekey noerror ;components:Extractor\InnoEx ;Check:allversion; Tasks:fileassocinnoex;
  113. //关联 iss 文件
  114. //INNO
  115. Root: HKCR; SubKey: .iss; Flags: uninsdeletekey; components:ALL\ANSI ALL\Unicode
  116. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile; Flags: uninsdeletekey; components:ALL\ANSI ALL\Unicode
  117. Root: HKCR; SubKey: .iss; ValueType: string; ValueData: InnoSetupScriptFile; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode;Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  118. Root: HKCR; SubKey: .iss; ValueType: string; ValueName: Content Type; ValueData: text/plain; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode;Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  119. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile; ValueType: string; ValueData:{cm:InnoSetupScriptFile}; Flags: uninsdeletekey; components:ALL\ANSI ALL\Unicode;Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  120. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\DefaultIcon; ValueType: string; ValueData: {app}\Compil32.exe,1; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno ;Check:not allversion
  121. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\DefaultIcon; ValueType: string; ValueData: {app}\Compil32.exe,1; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\Unicode; Tasks: fileassocinnounicode ;Check:allversion
  122. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\DefaultIcon; ValueType: string; ValueData: {code:app2}\Compil32.exe,1; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI; Tasks: fileassocinnoansi ;Check:allversion
  123. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell; Flags: uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  124. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\Compile; ValueType: string; ValueData: {cm:innoCompile}; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  125. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\Compile\command; ValueType: string; ValueData: """{app}\Compil32.exe"" /cc ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno ;Check:not allversion
  126. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\Compile\command; ValueType: string; ValueData: """{app}\Compil32.exe"" /cc ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\Unicode; Tasks: fileassocinnounicode ;Check:allversion
  127. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\Compile\command; ValueType: string; ValueData: """{code:app2}\Compil32.exe"" /cc ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI; Tasks: fileassocinnoansi ;Check:allversion
  128. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\open; Flags: uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  129. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\open\command; ValueType: string; ValueData: """{app}\Compil32.exe"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno ;Check:not allversion
  130. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\open\command; ValueType: string; ValueData: """{app}\Compil32.exe"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\Unicode; Tasks: fileassocinnounicode ;Check:allversion
  131. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\open\command; ValueType: string; ValueData: """{code:app2}\Compil32.exe"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI; Tasks: fileassocinnoansi ;Check:allversion
  132. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\OpenWithInnoSetup; ValueType: string; ValueData:{cm:OpenWithInnoSetup} ; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno fileassocinnoansi fileassocinnounicode
  133. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\OpenWithInnoSetup\command; ValueType: string; ValueData: """{app}\Compil32.exe"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI ALL\Unicode; Tasks: fileassocinno ;Check:not allversion
  134. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\OpenWithInnoSetup\command; ValueType: string; ValueData: """{app}\Compil32.exe"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\Unicode; Tasks: fileassocinnounicode ;Check:allversion
  135. Root: HKLM; SubKey: SOFTWARE\Classes\InnoSetupScriptFile\shell\OpenWithInnoSetup\command; ValueType: string; ValueData: """{code:app2}\Compil32.exe"" ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty; components:ALL\ANSI; Tasks: fileassocinnoansi ;Check:allversion
  136. //ISTOOL
  137. Root: HKCR; Subkey: "InnoSetupScriptFile"; Flags: uninsdeletekey; components:Extend\Istool;
  138. Root: HKCR; Subkey: ".iss"; ValueType: String; ValueData: "InnoSetupScriptFile"; Flags: uninsdeletevalue uninsdeletekeyifempty; components:Extend\Istool; Tasks: fileassocistool
  139. Root: HKCR; Subkey: "InnoSetupScriptFile\DefaultIcon"; ValueType: String; ValueData: """{app}\Extend\Istool\ISTool.exe"",0"; Flags: createvalueifdoesntexist uninsdeletevalue;components:Extend\Istool ;Check:not allversion; Tasks: fileassocistool
  140. Root: HKCR; Subkey: "InnoSetupScriptFile\DefaultIcon"; ValueType: String; ValueData: """{pf}\Inno Tools\Istool\ISTool.exe"",0"; Flags: createvalueifdoesntexist uninsdeletevalue;components:Extend\Istool ;Check:allversion; Tasks: fileassocistool
  141. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenWithISTool"; ValueType: String; ValueData: "{cm:OpenWithISTool}"; Flags: uninsdeletekey;components:Extend\Istool; Tasks: fileassocistool
  142. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenWithISTool"; Flags: uninsdeletekey;components:Extend\Istool; Tasks: fileassocistool
  143. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenwithISTool\command"; ValueType: String; ValueData: """{app}\Extend\Istool\ISTool.exe"" ""%1"""; Flags: uninsdeletekey;components:Extend\Istool ;Check:not allversion; Tasks: fileassocistool
  144. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenwithISTool\command"; ValueType: String; ValueData: """{pf}\Inno Tools\Istool\ISTool.exe"" ""%1"""; Flags: uninsdeletekey;components:Extend\Istool ;Check:allversion; Tasks: fileassocistool
  145. //INNOIDE
  146. Root: HKCR; Subkey: "InnoSetupScriptFile"; Flags: uninsdeletekey; components:Extend\InnoIDE;
  147. Root: HKCR; Subkey: ".iss"; ValueType: String; ValueData: "InnoSetupScriptFile"; Flags: uninsdeletevalue uninsdeletekeyifempty; components:Extend\InnoIDE; Tasks: fileassocinnoide
  148. Root: HKCR; Subkey: "InnoSetupScriptFile\DefaultIcon"; ValueType: String; ValueData: """{app}\Extend\InnoIDE\InnoIDE.exe"",0"; Flags: createvalueifdoesntexist uninsdeletevalue;components:Extend\InnoIDE ;Check:not allversion; Tasks: fileassocinnoide
  149. Root: HKCR; Subkey: "InnoSetupScriptFile\DefaultIcon"; ValueType: String; ValueData: """{pf}\Inno Tools\InnoIDE\InnoIDE.exe"",0"; Flags: createvalueifdoesntexist uninsdeletevalue;components:Extend\InnoIDE ;Check:allversion; Tasks: fileassocinnoide
  150. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenWithISTool"; ValueType: String; ValueData: "{cm:OpenWithInnoIDE}"; Flags: uninsdeletekey;components:Extend\InnoIDE; Tasks: fileassocinnoide
  151. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenWithISTool"; Flags: uninsdeletekey;components:Extend\InnoIDE; Tasks: fileassocinnoide
  152. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenwithISTool\command"; ValueType: String; ValueData: """{app}\Extend\InnoIDE\InnoIDE.exe"" ""%1"""; Flags: uninsdeletekey;components:Extend\InnoIDE ;Check:not allversion; Tasks: fileassocinnoide
  153. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenwithISTool\command"; ValueType: String; ValueData: """{pf}\Inno Tools\InnoIDE\InnoIDE.exe"" ""%1"""; Flags: uninsdeletekey;components:Extend\InnoIDE ;Check:allversion; Tasks: fileassocinnoide
  154. //ISStudio
  155. Root: HKCR; Subkey: "InnoSetupScriptFile"; Flags: uninsdeletekey; components:Extend\InnoScriptStudio;
  156. Root: HKCR; Subkey: ".iss"; ValueType: String; ValueData: "InnoSetupScriptFile"; Flags: uninsdeletevalue uninsdeletekeyifempty; components:Extend\InnoScriptStudio; Tasks: fileassocisstudio
  157. Root: HKCR; Subkey: "InnoSetupScriptFile\DefaultIcon"; ValueType: String; ValueData: """{app}\Extend\Inno Script Studio\ISStudio.exe"",0"; Flags: createvalueifdoesntexist uninsdeletevalue;components:Extend\InnoScriptStudio ;Check:not allversion; Tasks: fileassocisstudio
  158. Root: HKCR; Subkey: "InnoSetupScriptFile\DefaultIcon"; ValueType: String; ValueData: """{pf}\Inno Tools\Inno Script Studio\ISStudio.exe"",0"; Flags: createvalueifdoesntexist uninsdeletevalue;components:Extend\InnoScriptStudio ;Check:allversion; Tasks: fileassocisstudio
  159. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenWithISTool"; ValueType: String; ValueData: "{cm:OpenWithISStudio}"; Flags: uninsdeletekey;components:Extend\InnoScriptStudio; Tasks: fileassocisstudio
  160. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenWithISTool"; Flags: uninsdeletekey;components:Extend\InnoScriptStudio; Tasks: fileassocisstudio
  161. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenwithISTool\command"; ValueType: String; ValueData: """{app}\Extend\Inno Script Studio\ISStudio.exe"" ""%1"""; Flags: uninsdeletekey;components:Extend\InnoScriptStudio ;Check:not allversion; Tasks: fileassocisstudio
  162. Root: HKCR; Subkey: "InnoSetupScriptFile\shell\OpenwithISTool\command"; ValueType: String; ValueData: """{pf}\Inno Tools\Inno Script Studio\ISStudio.exe"" ""%1"""; Flags: uninsdeletekey;components:Extend\InnoScriptStudio ;Check:allversion; Tasks: fileassocisstudio
  163. //ISTOOL 检测 Inno Setup 注册表位置
  164. Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 5_is1; Flags: uninsdeletekeyifempty;
  165. //Skygz 增强版清理
  166. Root: HKCU; SubKey: {code:app2}; Flags: uninsdeletekeyifempty; components:ALL\ANSI\skygz ;Check:allversion
  167. Root: HKCU; SubKey: {code:app2}\Config.ini; Flags: uninsdeletekeyifempty; components:ALL\ANSI\skygz ;Check:allversion
  168. Root: HKCU; SubKey: {code:app2}\Config.ini\Options; Flags: uninsdeletekey; components:ALL\ANSI\skygz ;Check:allversion
  169. Root: HKCU; SubKey: {app}; Flags: uninsdeletekeyifempty; components:ALL\Unicode\skygz ;Check:allversion
  170. Root: HKCU; SubKey: {app}\Config.ini; Flags: uninsdeletekeyifempty; components:ALL\Unicode\skygz ;Check:allversion
  171. Root: HKCU; SubKey: {app}\Config.ini\Options; Flags: uninsdeletekey; components:ALL\Unicode\skygz ;Check:allversion
  172. Root: HKCU; SubKey: {app}; Flags: uninsdeletekeyifempty; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:not allversion
  173. Root: HKCU; SubKey: {app}\Config.ini; Flags: uninsdeletekeyifempty; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:not allversion
  174. Root: HKCU; SubKey: {app}\Config.ini\Options; Flags: uninsdeletekey; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:not allversion
  175. Root: HKCU; SubKey: {code:skygzinstallDrive}; Flags: uninsdeletekey; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:not allversion
  176. Root: HKCU; SubKey: {code:skygzinstallDrive}; Flags: uninsdeletekey; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:allversion and (not allskygz)
  177. Root: HKCU; SubKey: {code:skygzinstallDrive}; Flags: uninsdeletekey; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:allversion and allskygz
  178. Root: HKCU; SubKey: {code:skygzallinstallDrive}; Flags: uninsdeletekey; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:allversion and allskygz
  179. Root: HKCU; SubKey: {app}\Config.ini\Options; ValueType: string; ValueName: ShowStartupForm; ValueData: 0; Flags: uninsdeletekey; components:ALL\ANSI\skygz ALL\Unicode\skygz ;Check:not allversion
  180. Root: HKCU; SubKey: {app}\Config.ini\Options; ValueType: string; ValueName: ShowStartupForm; ValueData: 0; Flags: uninsdeletekey; components:ALL\Unicode\skygz ;Check:allversion
  181. Root: HKCU; SubKey: {code:app2}\Config.ini\Options; ValueType: string; ValueName: ShowStartupForm; ValueData: 0; Flags: uninsdeletekey; components:ALL\ANSI\skygz ;Check:allversion
  182. [CODE]
  183. //限制组件选择
  184. var
  185. OldEvent_ComponentsListClickCheck: TNotifyEvent;
  186. OldEvent_TypesComboOnChange: TNotifyEvent; //定义安装类型更改事件备份
  187. //限制组件选择
  188. //水波效果
  189. bmp: TBitmap;
  190. function enablewater(ParentWnd: HWND; Left, Top: integer; Bmp: HBITMAP; WaterRadius, WaterHeight: integer): BOOL;
  191. external 'enablewater@files:waterctrl.dll stdcall';
  192. function waterblob(x, y: integer; radius, height: integer): BOOL;
  193. external 'waterblob@files:waterctrl.dll stdcall';
  194. function flattenwater(): BOOL; external 'flattenwater@files:waterctrl.dll stdcall';
  195. function disablewater(): BOOL; external 'disablewater@files:waterctrl.dll stdcall';
  196. function setwaterparent(ParentWnd: HWND): BOOL; external 'setwaterparent@files:waterctrl.dll stdcall';
  197. //水波效果
  198. //第一部分
  199. //---------------------------------------------------------------------------------------
  200. //判断是否安装 Unicode 或 ANSI//
  201. function checkunicode: Boolean;
  202. begin
  203. if IsComponentSelected('ALL\Unicode') then
  204. Result := true
  205. else
  206. Result := false
  207. end;
  208. function checkansi: Boolean;
  209. begin
  210. if IsComponentSelected('ALL\ANSI') then
  211. Result := true
  212. else
  213. Result := false
  214. end;
  215. //判断是否安装 Unicode 或 ANSI//
  216. function allversion: Boolean;
  217. begin
  218. if (IsComponentSelected('ALL\ANSI')) and (IsComponentSelected('ALL\Unicode')) then
  219. Result := true
  220. else
  221. Result := false
  222. end;
  223. //判断是否安装的是 restools 版本//
  224. function restoolsinstall: Boolean;
  225. begin
  226. if (IsComponentSelected('ALL\Unicode\restools')) or (IsComponentSelected('ALL\ANSI\restools')) then
  227. Result := true
  228. else
  229. Result := false
  230. end;
  231. //判断是否安装的是 restools 版本//
  232. //判断不是 restools 版本//
  233. function otherversion: Boolean;
  234. begin
  235. if (not IsComponentSelected('ALL\Unicode\restools')) and (not IsComponentSelected('ALL\ANSI\restools')) then
  236. Result := true
  237. else
  238. Result := false
  239. end;
  240. //判断不是 restools 版本//
  241. //---------------------------------------------------------------------------------------
  242. //第二部分,两个安装目录代码
  243. //---------------------------------------------------------------------------------------
  244. var
  245. Label1: TLabel;
  246. NewEdit1: TNewEdit;
  247. NewButton1: TNewButton;
  248. procedure ButtonOnClick(Sender: TObject); // 点击“浏览”按钮后的操作
  249. var newDir: string;
  250. begin
  251. if BrowseForFolder(CustomMessage('selectpath'), newDir, false) then
  252. NewEdit1.Text := newDir;
  253. end;
  254. procedure RedesignWizardForm;
  255. begin
  256. { Label1 }
  257. Label1 := TLabel.Create(WizardForm);
  258. with Label1 do
  259. begin
  260. Name := 'Label1';
  261. Parent := WizardForm.SelectDirPage;
  262. Label1.WordWrap:= True;
  263. AutoSize := False;
  264. Caption := CustomMessage('selectpathhint');
  265. Transparent := False;
  266. Left := ScaleX(0);
  267. Top := ScaleY(155);
  268. Width := ScaleX(393); //英文状态下
  269. //Width := ScaleX(350); //中文状态下
  270. Height := ScaleY(56);
  271. end;
  272. with WizardForm.DiskSpaceLabel do
  273. begin
  274. Top := ScaleY(107);
  275. end;
  276. { NewEdit1 }
  277. NewEdit1 := TNewEdit.Create(WizardForm);
  278. with NewEdit1 do
  279. begin
  280. Name := 'NewEdit1';
  281. Parent := WizardForm.SelectDirPage;
  282. Left := ScaleX(0);
  283. if ActiveLanguage = 'chs' then
  284. begin
  285. Top := ScaleY(174)
  286. end
  287. else
  288. begin
  289. Top := ScaleY(191);
  290. end;
  291. Width := ScaleX(321);
  292. Height := ScaleY(22);
  293. Text:= ExpandConstant('{pf}\Inno Setup {#MyAppVersion}(a)'); // 默认副目录
  294. end;
  295. { NewButton1 }
  296. NewButton1 := TNewButton.Create(WizardForm);
  297. with NewButton1 do
  298. begin
  299. Name := 'NewButton1';
  300. Parent := WizardForm.SelectDirPage;
  301. Left := ScaleX(336);
  302. if ActiveLanguage = 'chs' then
  303. begin
  304. Top := ScaleY(174)
  305. end
  306. else
  307. begin
  308. Top := ScaleY(191);
  309. end;
  310. Width := ScaleX(81);
  311. Height := ScaleY(24);
  312. Caption := CustomMessage('browsepath');
  313. OnClick:= @ButtonOnClick;
  314. end;
  315. NewEdit1.TabOrder := 5;
  316. NewButton1.TabOrder := 6;
  317. end;
  318. //限制组件选择
  319. Procedure CmpListOnClickCheck(Sender: TObject); //组件列表单击事件
  320. var
  321. i: integer;
  322. begin
  323. OldEvent_ComponentsListClickCheck(Sender); //重置组件列表单击事件
  324. if IsComponentSelected('ALL\ANSI') or IsComponentSelected('ALL\Unicode') then //没选择主组件,禁用下一步
  325. WizardForm.NextButton.Enabled := true
  326. else
  327. WizardForm.NextButton.Enabled := false;
  328. if ActiveLanguage = 'chs' then
  329. begin
  330. if IsComponentSelected('ALL\ANSI') then
  331. For i := 9 to 18 do
  332. begin
  333. //WizardForm.ComponentsList.Checked[i] := true;
  334. WizardForm.ComponentsList.ItemEnabled[i] := true;
  335. end;
  336. if not IsComponentSelected('ALL\ANSI') then
  337. For i := 9 to 18 do
  338. begin
  339. WizardForm.ComponentsList.Checked[i] := false;
  340. WizardForm.ComponentsList.ItemEnabled[i] := false;
  341. end;
  342. if IsComponentSelected('ALL\Unicode') then
  343. For i := 19 to 28 do
  344. begin
  345. //WizardForm.ComponentsList.Checked[i] := true;
  346. WizardForm.ComponentsList.ItemEnabled[i] := true;
  347. end;
  348. if not IsComponentSelected('ALL\Unicode') then
  349. For i := 19 to 28 do
  350. begin
  351. WizardForm.ComponentsList.Checked[i] := false;
  352. WizardForm.ComponentsList.ItemEnabled[i] := false;
  353. end;
  354. end;
  355. if ActiveLanguage <> 'chs' then
  356. begin
  357. if IsComponentSelected('ALL\ANSI') then
  358. For i := 7 to 16 do
  359. begin
  360. //WizardForm.ComponentsList.Checked[i] := true;
  361. WizardForm.ComponentsList.ItemEnabled[i] := true;
  362. end;
  363. if not IsComponentSelected('ALL\ANSI') then
  364. For i := 7 to 16 do
  365. begin
  366. WizardForm.ComponentsList.Checked[i] := false;
  367. WizardForm.ComponentsList.ItemEnabled[i] := false;
  368. end;
  369. if IsComponentSelected('ALL\Unicode') then
  370. For i := 17 to 26 do
  371. begin
  372. //WizardForm.ComponentsList.Checked[i] := true;
  373. WizardForm.ComponentsList.ItemEnabled[i] := true;
  374. end;
  375. if not IsComponentSelected('ALL\Unicode') then
  376. For i := 17 to 26 do
  377. begin
  378. WizardForm.ComponentsList.Checked[i] := false;
  379. WizardForm.ComponentsList.ItemEnabled[i] := false;
  380. end;
  381. end;
  382. end;
  383. Procedure TypesComboOnChange(Sender: TObject); //安装类型更改事件
  384. var
  385. i: integer;
  386. begin
  387. OldEvent_TypesComboOnChange(Sender); //重置安装类型事件
  388. if IsComponentSelected('ALL\ANSI') or IsComponentSelected('ALL\Unicode') then //没选择主组件,禁用下一步
  389. WizardForm.NextButton.Enabled := true
  390. else
  391. WizardForm.NextButton.Enabled := false;
  392. if WizardForm.TypesCombo.ItemIndex = 0 then
  393. begin
  394. if ActiveLanguage = 'chs' then
  395. For i := 9 to 18 do
  396. begin
  397. WizardForm.ComponentsList.Checked[i] := false;
  398. WizardForm.ComponentsList.ItemEnabled[i] := false;
  399. end
  400. else
  401. begin
  402. WizardForm.ComponentsList.ItemEnabled[i] := true;
  403. end;
  404. if (ActiveLanguage = 'chs') and IsComponentSelected('ALL\Unicode') then
  405. begin
  406. For i := 19 to 28 do
  407. begin
  408. WizardForm.ComponentsList.ItemEnabled[i] := true;
  409. end;
  410. end;
  411. if (ActiveLanguage = 'chs') and (not IsComponentSelected('ALL\Unicode')) then
  412. begin
  413. For i := 19 to 28 do
  414. begin
  415. WizardForm.ComponentsList.ItemEnabled[i] := false;
  416. end;
  417. end;
  418. if ActiveLanguage <> 'chs' then
  419. For i := 7 to 16 do
  420. begin
  421. WizardForm.ComponentsList.Checked[i] := false;
  422. WizardForm.ComponentsList.ItemEnabled[i] := false;
  423. end
  424. else
  425. begin
  426. WizardForm.ComponentsList.ItemEnabled[i] := true;
  427. end;
  428. if (ActiveLanguage <> 'chs') and IsComponentSelected('ALL\Unicode') then
  429. begin
  430. For i := 17 to 26 do
  431. begin
  432. WizardForm.ComponentsList.ItemEnabled[i] := true;
  433. end;
  434. end;
  435. if (ActiveLanguage <> 'chs') and (not IsComponentSelected('ALL\Unicode')) then
  436. begin
  437. For i := 17 to 26 do
  438. begin
  439. WizardForm.ComponentsList.ItemEnabled[i] := false;
  440. end;
  441. end;
  442. end;
  443. end;
  444. //限制组件选择
  445. procedure InitializeWizard();
  446. var
  447. i: integer;
  448. begin
  449. RedesignWizardForm;
  450. CreateMutex('{#MyAppName}');
  451. OldEvent_ComponentsListClickCheck := WizardForm.ComponentsList.OnClickCheck; //备份组件列表单击事件
  452. OldEvent_TypesComboOnChange := WizardForm.TypesCombo.OnChange //备份安装类型更改事件
  453. WizardForm.ComponentsList.OnClickCheck := @CmpListOnClickCheck; //关联组件列表单击事件
  454. WizardForm.TypesCombo.OnChange := @TypesComboOnChange; //关联安装类型更改事件
  455. //设置安装向导左边位图
  456. WizardForm.WizardSmallBitmapImage.width:=55; //设置页眉图片的大小
  457. WizardForm.WizardSmallBitmapImage.height:=55;
  458. WizardForm.WizardSmallBitmapImage.left:=WizardForm.width-65; //设置左边页眉留出的空隙
  459. WizardForm.WizardSmallBitmapImage.top:=0;
  460. //设置标签位置
  461. WizardForm.BeveledLabel.Left:=25;
  462. Wizardform.WelcomeLabel1.Visible:= false; // 屏蔽安装向导页面上面的文字
  463. Wizardform.WelcomeLabel2.Visible:= false; // 屏蔽安装向导页面上面的文字
  464. Wizardform.WizardBitmapImage.Width:= Wizardform.InnerPage.Width; // 放大图像到整个界面宽度
  465. Wizardform.WizardBitmapImage.Height:= Wizardform.InnerPage.Height;
  466. bmp := TBitmap.create;
  467. try
  468. if ActiveLanguage = 'chs' then
  469. begin
  470. ExtractTemporaryFile('开始位图1.bmp');
  471. bmp.LoadFromFile(ExpandConstant('{tmp}\开始位图1.bmp'));
  472. For i := 9 to 18 do
  473. begin
  474. WizardForm.ComponentsList.Checked[i] := false;
  475. WizardForm.ComponentsList.ItemEnabled[i] := false;
  476. end;
  477. end
  478. else
  479. begin
  480. ExtractTemporaryFile('开始位图2.bmp');
  481. bmp.LoadFromFile(ExpandConstant('{tmp}\开始位图2.bmp'));
  482. For i := 7 to 16 do
  483. begin
  484. WizardForm.ComponentsList.Checked[i] := false;
  485. WizardForm.ComponentsList.ItemEnabled[i] := false;
  486. end;
  487. end;
  488. enablewater(WizardForm.WelcomePage.Handle, 0, 0, bmp.Handle, 3, 50);
  489. finally
  490. bmp.Free;
  491. end;
  492. end;
  493. //水波特效
  494. procedure CurPageChanged(CurPage: Integer);
  495. begin
  496. if CurPage = wpWelcome then
  497. begin
  498. setwaterparent(WizardForm.WelcomePage.Handle);
  499. waterblob(230, 140, 10, 1000);
  500. end else
  501. if CurPage = wpFinished then
  502. begin
  503. disablewater;
  504. bmp := TBitmap.create;
  505. try
  506. if ActiveLanguage = 'chs' then
  507. begin
  508. ExtractTemporaryFile('结束位图1.bmp');
  509. bmp.LoadFromFile(ExpandConstant('{tmp}\结束位图1.bmp'));
  510. end
  511. else
  512. begin
  513. ExtractTemporaryFile('结束位图2.bmp');
  514. bmp.LoadFromFile(ExpandConstant('{tmp}\结束位图2.bmp'));
  515. end;
  516. enablewater(WizardForm.FinishedPage.Handle, 0, 0, bmp.Handle, 3, 50);
  517. finally
  518. bmp.Free;
  519. end;
  520. setwaterparent(WizardForm.FinishedPage.Handle);
  521. waterblob(68, 168, 10, 1000);
  522. end else
  523. flattenwater();
  524. end;
  525. procedure DeinitializeSetup();
  526. begin
  527. disablewater();
  528. end;
  529. //水波特效
  530. //取消直接退出安装程序
  531. procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
  532. begin
  533. Confirm := False;
  534. end;
  535. //两个安装目录
  536. function app2(Param: String): String; // 副目录
  537. begin
  538. Result:=ExpandConstant('{app}')
  539. if (IsComponentSelected('ALL\ANSI')) and (IsComponentSelected('ALL\Unicode')) then
  540. begin
  541. if NewEdit1.Text=ExpandConstant('{app}') then //目录选到一样处理
  542. begin
  543. NewEdit1.Text:=ExpandConstant('{app}(a)');
  544. end;
  545. Result:= NewEdit1.Text;
  546. end;
  547. end;
  548. //---------------------------------------------------------------------------------------
  549. function allskygz: Boolean;
  550. begin
  551. if IsComponentSelected('ALL\ANSI\skygz') and IsComponentSelected('ALL\Unicode\skygz') then
  552. Result := true
  553. else
  554. Result := false
  555. end;
  556. //获取 Skygz 增强版安装盘符
  557. function skygzinstallDrive(Param: String): String;
  558. begin
  559. if IsComponentSelected('ALL\Unicode\skygz') or IsComponentSelected('ALL\ANSI\skygz') and (not allversion) then
  560. begin
  561. Result:=ExtractFileDrive(ExpandConstant('{app}\{#MyAppExeName}'));
  562. end;
  563. if IsComponentSelected('ALL\Unicode\skygz') and allversion and (not allskygz) then
  564. begin
  565. Result:=ExtractFileDrive(ExpandConstant('{app}\{#MyAppExeName}'));
  566. end;
  567. if IsComponentSelected('ALL\ANSI\skygz') and allversion and (not allskygz) then
  568. begin
  569. Result:=ExtractFileDrive(ExpandConstant('{code:app2}\{#MyAppExeName}'));
  570. end;
  571. if allversion and allskygz then
  572. begin
  573. Result:=ExtractFileDrive(ExpandConstant('{app}\{#MyAppExeName}'));
  574. end;
  575. end;
  576. function skygzallinstallDrive(Param: String): String;
  577. begin
  578. if allversion and allskygz then
  579. Result:=ExtractFileDrive(ExpandConstant('{code:app2}\{#MyAppExeName}'));
  580. end;
  581. //----------------------------------------------------------------------------------------
  582. function InitializeSetup():boolean;
  583. var
  584. MykeynotExist:boolean;
  585. ResultCode: Integer;
  586. ResultStr: String;
  587. skNames: TArrayOfString;
  588. j: Integer;
  589. begin
  590. Result:= true;
  591. MykeynotExist:= true;
  592. if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall', skNames) then
  593. begin
  594. for j:= 0 to GetArrayLength(skNames)-1 do
  595. begin
  596. if Copy(skNames[j],1,10) = 'Inno Setup' then
  597. begin
  598. //卸载系统安装的版本
  599. if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'+skNames[j], 'UninstallString', ResultStr) then
  600. begin
  601. MyKeynotExist:= false;
  602. if MsgBox(CustomMessage('uninshint'),mbInformation,MB_OKCANCEL)=IDOK then
  603. begin
  604. ResultStr := RemoveQuotes(ResultStr);
  605. Exec(ResultStr,'/silent /verysilent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
  606. Result:= true;
  607. end
  608. else
  609. Result:= false;
  610. end;
  611. end;
  612. end;
  613. end;
  614. end;


离线solan

发帖
80
金钱
800
威望
80
只看该作者 2 发表于: 2015-12-15
哇,今天一打开网站就看到你的大作,兄弟,你真爽快,谢谢分享。
我们知道这样的大作凝聚了你的无数的汗水,幸苦啊,我是深有体会的。
你已经做得很好了,期待以后再次更新你的安装包!!
通过学习,看看能不能完善我自己的UG安装包了,再次强力感谢!!!
离线546242502

发帖
332
金钱
-3060
威望
-306
只看该作者 3 发表于: 2015-12-15
回 2楼(solan) 的帖子
solan:哇,今天一打开网站就看到你的大作,兄弟,你真爽快,谢谢分享。我们知道这样的大作凝聚了你的无数的汗水,幸苦啊,我是深有体会的。你已经做得很好了,期待以后再次更新你的安装包! .. (2015-12-15 13:02) 

很基础的套用,没什么技术含量,其实现在来看有很多地方可以改进