Inno Setup Compiler 中文使用教程
一、概要
该文章主要解决,Inno Setup Compiler工具的使用问题。
如有什么建议欢迎提出,本人及时修改。【如有任何疑惑可以加Q群:580749909】
二、步骤
(1)下载地址:http://www.jrsoftware.org/isdl.php
(2)安装步骤【基础步骤参考:https://jingyan.baidu.com/article/295430f1232df70c7e0050fe.html】
(3)中文安装配置文件
(4)该工具出现不能加载文件夹的情况。附上解决方案
(5)inno setup 脚本语法:http://www.uol123.com/2014/10/28/inno-setup%E8%84%9A%E6%9C%AC%E8%AF%AD%E6%B3%95%E5%A4%A7%E5%85%A8.html
(6)安装包版本号管理规范和定义 http://www.mamicode.com/info-detail-848142.html
基础步骤在网上可以搜索到,所以我就不做重复的工作了。所以只是在前文档的基础上做了一些改进,大概就是本篇文章的意义所在。
在 https://jingyan.baidu.com/article/295430f1232df70c7e0050fe.html 文档中的第六步中,大家看到只能选择其他语言没有中文选项。
我在这里做了一些改进,自己添加一个Chinese.isl。写好之后添加到Inno Setup 5\Languages目录下。界面中就多了一个Chinese选项。文件内容怎么写?
(文件内容也是来自网络,如果懒的写这个文件可以加Q群580749909,共享文件里有)
代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 ; *** Inno Setup version 5.1.11+ English messages *** 2 3 ; 4 5 ; To download user-contributed translations of this file, go to: 6 7 ; http://www.jrsoftware.org/is3rdparty.php 8 9 ; 10 11 ; Note: When translating this text, do not add periods (.) to the end of 12 13 ; messages that didn't have them already, because on those messages Inno 14 15 ; Setup adds the periods automatically (appending a period would result in 16 17 ; two periods being displayed). 18 19 [LangOptions] 20 21 ; The following three entries are very important. Be sure to read and 22 23 ; understand the '[LangOptions] section' topic in the help file. 24 25 LanguageName=Chinese 26 27 LanguageID=$0409 28 29 LanguageCodePage=0 30 31 ; If the language you are translating to requires special font faces or 32 33 ; sizes, uncomment any of the following entries and change them accordingly. 34 35 ;DialogFontName= 36 37 ;DialogFontSize=8 38 39 ;WelcomeFontName=Verdana 40 41 ;WelcomeFontSize=12 42 43 ;TitleFontName=Arial 44 45 ;TitleFontSize=29 46 47 ;CopyrightFontName=Arial 48 49 ;CopyrightFontSize=8 50 51 [Messages] 52 53 ; *** Application titles 54 55 SetupAppTitle=安装 56 57 SetupWindowTitle=安装 - %1 58 59 UninstallAppTitle=反安装 60 61 UninstallAppFullTitle=%1 反安装 62 63 ; *** Misc. common 64 65 InformationTitle=安装信息 66 67 ConfirmTitle=提示 68 69 ErrorTitle=错误 70 71 ; *** SetupLdr messages 72 73 SetupLdrStartupMessage=现在将安装 %1。是否继续? 74 75 LdrCannotCreateTemp=不能创建临时文件。安装中止! 76 77 LdrCannotExecTemp=不能在临时目录中解压文件,安装过程中止! 78 79 ; *** Startup error messages 80 81 LastErrorMessage=%1.%n%n 错误 %2: %3 82 83 SetupFileMissing=在安装目录中找不到文件 %1 。请更正该问题或者获得一个新的文件。 84 85 SetupFileCorrupt=安装文件被占用。请获得一个新的安装文件。 86 87 SetupFileCorruptOrWrongVer=安装文件被占用, 或者安装文件的版本不对。请更正该问题或者获得一个新文件。 88 89 NotOnThisPlatform=该程序不能在 %1 下运行。 90 91 OnlyOnThisPlatform=该程序必须在 %1 下运行。 92 93 OnlyOnTheseArchitectures=该程序只能在以下WINDOWS版本下运行:%n%n%1 94 95 MissingWOW64APIs=该版本需要64位的安装程序。要更正该问题,请安装 Service Pack %1。 96 97 WinVersionTooLowError=该软件需要 %1 版本号 %2 或者更高。 98 99 WinVersionTooHighError=该软件不能在 %1 版本号 %2 或者更高版本中安装。 100 101 AdminPrivilegesRequired=您在安装该程序时必须是管理员权限。 102 103 PowerUserPrivilegesRequired=您在安装程序是必须是管理员权限或者高权限用户权限。 104 105 SetupAppRunningError=安装程序检测到 %1 正在运行。%n%n请关闭它的所有实例。然后单击“确认”继续安装,或者单击“放弃”退出。UninstallAppRunningError=反安装程序检测到 %1 正在运行。%n%n请关闭它的所有实例。然后单击“确认”继续安装,或者单击“放弃”退出。 106 107 UninstallAppRunningError=Uninstall has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. 108 109 ; *** Misc. errors 110 111 ErrorCreatingDir=安装程序不能创建目录 "%1" 112 113 ErrorTooManyFilesInDir=不能在目录"%1" 下创建文件。因为该目录下有太多的文件了。 114 115 ; *** Setup common messages 116 117 ExitSetupTitle=退出安装 118 119 ExitSetupMessage=安装没有完成。 如果您现在退出,程序将不被安装。%n%n您可以下次在完成安装任务。%n%n退出安装? 120 121 AboutSetupMenuItem=关于安装程序[&A]... 122 123 AboutSetupTitle=关于安装程序 124 125 AboutSetupMessage=%1 版本 %2%n%3%n%n%1 主页:%n%4 126 127 AboutSetupNote= 128 129 TranslatorNote= 130 131 ; *** Buttons 132 133 ButtonBack=< 回退[&B] 134 135 ButtonNext=下一步[&N] > 136 137 ButtonInstall=安装[&I] 138 139 ButtonOK=确认 140 141 ButtonCancel=放弃 142 143 ButtonYes=市[&Y] 144 145 ButtonYesToAll=全部确认[&A] 146 147 ButtonNo=否[&N] 148 149 ButtonNoToAll=全部否认[&o] 150 151 ButtonFinish=完成[&F] 152 153 ButtonBrowse=浏览[&B]... 154 155 ButtonWizardBrowse=浏览[&r]... 156 157 ButtonNewFolder=新建文件夹[&M] 158 159 ; *** "Select Language" dialog messages 160 161 SelectLanguageTitle=选择安装语言种类 162 163 SelectLanguageLabel=选择该语言作为安装语言: 164 165 ; *** Common wizard text 166 167 ClickNext=单击“下一步”继续,或者单击“放弃”退出本安装程序。 168 169 BeveledLabel= 170 171 BrowseDialogTitle=浏览文件夹 172 173 BrowseDialogLabel=在下面的列表中选择一个目录, 然后单击“确认”继续。 174 175 NewFolderName=新文件夹 176 177 ; *** "Welcome" wizard page 178 179 WelcomeLabel1=欢迎进入 [name] 安装向导 180 181 WelcomeLabel2=将在您的电脑上安装 [name/ver] 。%n%n建议在继续安装之前退出其它程序的运行。 182 183 ; *** "Password" wizard page 184 185 WizardPassword=密码 186 187 PasswordLabel1=本安装程序受密码保护。 188 189 PasswordLabel3=请输入密码,密码区分大小写。然后单击“下一步”继续。 190 191 PasswordEditLabel=密码[&P]: 192 193 IncorrectPassword=输入的密码不正确,请重新输入。 194 195 ; *** "License Agreement" wizard page 196 197 WizardLicense=用户许可协议 198 199 LicenseLabel=请在继续之前仔细阅读用户许可协议。 200 201 LicenseLabel3=请仔细阅读下面的用户许可协议。在继续安装之前,您必须接受该协议。 202 203 LicenseAccepted=我接受协议[&a]。 204 205 LicenseNotAccepted=我不接受协议[&d] 206 207 ; *** "Information" wizard pages 208 209 WizardInfoBefore=提示 210 211 InfoBeforeLabel=在继续安装之前请仔细阅读以下重要的信息。 212 213 InfoBeforeClickLabel=当您准备好继续安装时,单击“继续”。 214 215 WizardInfoAfter=信息 216 217 InfoAfterLabel=在继续安装之前请仔细阅读以下重要的信息。 218 219 InfoAfterClickLabel=当您准备好继续安装时,单击“继续”。 220 221 ; *** "User Information" wizard page 222 223 WizardUserInfo=用户信息 224 225 UserInfoDesc=请输入您的信息。 226 227 UserInfoName=用户名[&U]: 228 229 UserInfoOrg=组织[&O]: 230 231 UserInfoSerial=序列号[&S]: 232 233 UserInfoNameRequired=您必须输入一个名称。 234 235 ; *** "Select Destination Location" wizard page 236 237 WizardSelectDir=选择目标位置 238 239 SelectDirDesc=您将把[name]安装在哪里? 240 241 SelectDirLabel3=安装程序将把[name]安装在下面的的文件夹中。 242 243 SelectDirBrowseLabel=为了继续安装, 请单击“下一步”。如果您想选择一个不同的目录,请单击“浏览”。 244 245 DiskSpaceMBLabel=为了安装本软件,至少需要 [mb] MB 的空闲磁盘空间。 246 247 ToUNCPathname=安装程序不能安装到一个 UNC 目录名称。如果您试图网上安装本程序,请映射网络驱动器。 248 249 InvalidPath=您比如输入一个含盘符的路径名称。比如:%n%nC:\APP%n%n 或者一个网络路径,例如:%n%n\\server\share 250 251 InvalidDrive=您选择的磁盘或者网络路径不存在或者不能访问。请重新选择其它的磁盘或者网络路径。 252 253 DiskSpaceWarningTitle=磁盘空间不足。 254 255 DiskSpaceWarning=安装程序至少需要 %1 KB 空闲磁盘空间来安装本软件。但是选择的磁盘上只有 %2 KB 空间可用。%n%n 您确认继续? 256 257 DirNameTooLong=该文件夹的名称太长。 258 259 InvalidDirName=该文件夹的名字太长。 260 261 BadDirName32=文件夹名称中不能包括以下的任何字符:%n%n%1 262 263 DirExistsTitle=文件夹已经存在 264 265 DirExists=文件夹:%n%n%1%n%n已经存在。您想继续安装? 266 267 DirDoesntExistTitle=文件夹不存在 268 269 DirDoesntExist=文件夹:%n%n%1%n%n不存在。您想创建该文件夹? 270 271 ; *** "Select Components" wizard page 272 273 WizardSelectComponents=选择部件 274 275 SelectComponentsDesc=哪些部件需要安装? 276 277 SelectComponentsLabel2=选择您想要安装胡部件; 清除您不想安装的部件。当您准备好后,请单击“下一步” 。 278 279 FullInstallation=完全安装 280 281 ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) 282 283 CompactInstallation=精简安装 284 285 CustomInstallation=自定义安装 286 287 NoUninstallWarningTitle=部件存在 288 289 NoUninstallWarning=安装程序检测到以下部件已经在您的电脑中被安装了:%n%n%1%n%n不选择它们将不在您的电脑中安装它们。%n%n您想就这样继续吗? 290 291 ComponentSize1=%1 KB 292 293 ComponentSize2=%1 MB 294 295 ComponentsDiskSpaceMBLabel=当前选择项至少需要 [mb] MB 的空闲磁盘空间才能安装。 296 297 ; *** "Select Additional Tasks" wizard page 298 299 WizardSelectTasks=选择一个附加任务 300 301 SelectTasksDesc=您想选择哪个附加任务? 302 303 SelectTasksLabel2=选择在安装[name]时执行的附加任务, 然后单击“下一步”。 304 305 ; *** "Select Start Menu Folder" wizard page 306 307 WizardSelectProgramGroup=选择开始菜单文件夹 308 309 SelectStartMenuFolderDesc=您想在哪里放置软件的快捷方式? 310 311 SelectStartMenuFolderLabel3=安装程序将在下面的文件夹中创建软件的快捷方式。 312 313 SelectStartMenuFolderBrowseLabel=为了继续,单击“下一步”。如果您想另外选择一个文件夹,单击“浏览”。 314 315 MustEnterGroupName=您必须输入一个文件夹名称。 316 317 GroupNameTooLong=文件夹名称或者路径名称太长。 318 319 InvalidGroupName=文件夹名称非法。 320 321 BadGroupName=文件夹名字中不能包含下面的字符:%n%n%1 322 323 NoProgramGroupCheck2=不创建开始菜单中的文件夹[&D] 324 325 ; *** "Ready to Install" wizard page 326 327 WizardReady=准备开始安装 328 329 ReadyLabel1=安装程序开始在您的电脑中安装[name]. 330 331 ReadyLabel2a=单击“安装”开始安装本软件,或者单击“回退”修改安装设置。 332 333 ReadyLabel2b=单击“安装”开始安装本软件。 334 335 ReadyMemoUserInfo=用户信息: 336 337 ReadyMemoDir=安装目标位置: 338 339 ReadyMemoType=安装种类: 340 341 ReadyMemoComponents=选中的部件: 342 343 ReadyMemoGroup=开始菜单文件夹: 344 345 ReadyMemoTasks=附加任务: 346 347 ; *** "Preparing to Install" wizard page 348 349 WizardPreparing=准备安装 350 351 PreparingDesc=安装程序准备在您的电脑中安装[name]。 352 353 PreviousInstallNotCompleted=安装/反安装一个以前的程序没有完成。您需要重新启动您的电脑来完成安装工作。%n%n当重新启动您的电脑后,请运行安装程序来完成安装[name]。 354 355 CannotContinue=安装程序不能继续执行。请单击“放弃”退出。 356 357 ; *** "Installing" wizard page 358 359 WizardInstalling=安装中 360 361 InstallingLabel=安装程序正在安装[name],请等待。 362 363 ; *** "Setup Completed" wizard page 364 365 FinishedHeadingLabel=[name]安装完成 366 367 FinishedLabelNoIcons=安装程序已经在您的电脑中安装了[name]。 368 369 FinishedLabel=安装程序已经在您的电脑中安装了[name]。要执行本软件,请单击安装好的本软件图标 。 370 371 ClickFinish=单击“完成”退出本安装程序. 372 373 FinishedRestartLabel=为了完成[name]的安装, 安装程序必须重新启动您的电脑。您想现在就重新启动? 374 375 FinishedRestartMessage=为了完成[name]的安装, 安装程序必须重新启动您的电脑。%n%您想现在就重新启动? 376 377 ShowReadmeCheck=是的,我想查看 README 文件 378 379 YesRadio=是的,我想重新启动计算机[&Y] 380 381 NoRadio=不,我将稍后重新启动计算机[&N] 382 383 ; used for example as 'Run MyProg.exe' 384 385 RunEntryExec=运行 %1 386 387 ; used for example as 'View Readme.txt' 388 389 RunEntryShellExec=查看 %1 390 391 ; *** "Setup Needs the Next Disk" stuff 392 393 ChangeDiskTitle=安装程序需要下一个安装盘 394 395 SelectDiskLabel2=请插入安装盘 %1 并且单击“确认”。%n%n如果该盘不是下面显示的盘,请输入正确的路径或者单击“浏览”。 396 397 PathLabel=目录[&P]: 398 399 FileNotInDir2=在 "%2" 中没有发现文件。请插入正确的磁盘或者选择其它的文件夹。 400 401 SelectDirectoryLabel=请输入下一个磁盘中的正确位置。 402 403 ; *** Installation phase messages 404 405 SetupAborted=安装没有完成。%n%n请修复错误并重新安装。 406 407 EntryAbortRetryIgnore=单击“重试”重新尝试,单击“忽略”将继续安装,或者单击“放弃”退出安装。 408 409 ; *** Installation status messages 410 411 StatusCreateDirs=创建目录中... 412 413 StatusExtractFiles=解压文件中... 414 415 StatusCreateIcons=创建快捷方式中... 416 417 StatusCreateIniEntries=创建INI单元中... 418 419 StatusCreateRegistryEntries=创建注册表内容中... 420 421 StatusRegisterFiles=注册文件中... 422 423 StatusSavingUninstall=保存反安装信息中... 424 425 StatusRunProgram=正在完成安装... 426 427 StatusRollback=恢复原来修改的内容中... 428 429 ; *** Misc. errors 430 431 ErrorInternal2=内部错误: %1 432 433 ErrorFunctionFailedNoCode=%1 失败 434 435 ErrorFunctionFailed=%1 失败; 代码 %2 436 437 ErrorFunctionFailedWithMessage=%1 错误; 代码 %2.%n%3 438 439 ErrorExecutingProgram=不能执行文件:%n%1 440 441 ; *** Registry errors 442 443 ErrorRegOpenKey=在打开注册表键时发生错误:%n%1\%2 444 445 ErrorRegCreateKey=在创建注册表键时发生错误:%n%1\%2 446 447 ErrorRegWriteKey=在些注册表键时发生错误:%n%1\%2 448 449 ; *** INI errors 450 451 ErrorIniEntry=在创建INI文件时发生错误 "%1". 452 453 ; *** File copying errors 454 455 FileAbortRetryIgnore=单击“重试”再试一次,单击“忽略”忽略该文件,或者单击“放弃”退出安装程序。 456 457 FileAbortRetryIgnore2=单击“重试”再试一次,单击“忽略”忽略该文件继续安装,或者单击“放弃”退出安装程序。 458 459 SourceIsCorrupted=源文件被使用 460 461 SourceDoesntExist=源文件 "%1" 不存在 462 463 ExistingFileReadOnly=该已经存在的文件是只读属性。%n%n单击“重试”删除只读属性并重新尝试,单击“忽略”忽略该文件,或者单击“放弃”退出安装程序。 464 465 ErrorReadingExistingDest=当试图读取一个已经存在的文件时发生了错误: 466 467 FileExists=该文件已经存在。%n%n您想覆盖它吗? 468 469 ExistingFileNewer=已经存在的文件比安装程序试图安装的文件要新。建议您保留该文件。%n%n您想保留已经存在的文件吗? 470 471 ErrorChangingAttr=当试图改变一个存在的文件的属性时发生了错误: 472 473 ErrorCreatingTemp=当试图在目标目录中创建一个文件时发生了错误: 474 475 ErrorReadingSource=当试图读取一个文件时发生了错误: 476 477 ErrorCopying=当试图复制一个文件时发生了错误: 478 479 ErrorReplacingExistingFile=当试图覆盖已经存在的文件时发生错误: 480 481 ErrorRestartReplace=重新启动置换失败: 482 483 ErrorRenamingTemp=当在目标目录中重命名文件时发生错误: 484 485 ErrorRegisterServer=不能注册 DLL/OCX: %1 486 487 ErrorRegSvr32Failed=RegSvr32 执行失败, 错误码: %1 488 489 ErrorRegisterTypeLib=不能注册以下类型库: %1 490 491 ; *** Post-installation errors 492 493 ErrorOpeningReadme=当打开 README 文件时发生错误。 494 495 ErrorRestartingComputer=安装程序不能重新启动电脑。请手动启动。 496 497 ; *** Uninstaller messages 498 499 UninstallNotFound=文件 "%1" 不存在。不能反安装。 500 501 UninstallOpenError=文件 "%1" 不能打开。不能反安装。 502 503 UninstallUnsupportedVer=反安装记录文件 "%1" 不是基于本安装程序的版本。不能完成软件的删除工作。 504 505 UninstallUnknownEntry=一个未知的实体 (%1) 存在于反安装记录文件中。 506 507 ConfirmUninstall=您确定完全删除 %1 和所有基于它上面的部件吗? 508 509 UninstallOnlyOnWin64=该安装程序只能在64位的Windows上执行反安装工作。 510 511 OnlyAdminCanUninstall=该安装程序只能在您具有管理员权限时才能执行反安装工作。 512 513 UninstallStatusLabel= %1 正在被删除,请稍等。 514 515 UninstalledAll=%1 被成功地从您的电脑中删除。 516 517 UninstalledMost=%1 删除完成。%n%n有某些部件不能被删除。您可能需要手动删除它们。 518 519 UninstalledAndNeedsRestart=为了完成 %1 的删除工作, 您必须重新启动电脑。%n%n您想现在就重新启动吗? 520 521 UninstallDataCorrupted=文件"%1" 被占用。不能完成删除工作。 522 523 ; *** Uninstallation phase messages 524 525 ConfirmDeleteSharedFileTitle=删除共享程序文件? 526 527 ConfirmDeleteSharedFile2=系统指出以下的共享程序文件将不再被使用。您是否想删除这些共享文件?%n%n如果这些文件删除后,其他程序仍然要使用它,可能其它程序的功能将受影响。如果您不能肯定,请选择“否”。让这些文件保留在系统中不会对系统造成损害。 528 529 SharedFileNameLabel=文件名: 530 531 SharedFileLocationLabel=位置: 532 533 WizardUninstalling=反安装 534 535 StatusUninstalling=反安装 %1 中... 536 537 ; The custom messages below aren't used by Setup itself, but if you make 538 539 ; use of them in your scripts, you'll want to translate them. 540 541 [CustomMessages] 542 543 NameAndVersion=%1 版本 %2 544 545 AdditionalIcons=附加图标: 546 547 CreateDesktopIcon=创建桌面图标[&d] 548 549 CreateQuickLaunchIcon=创建快速启动图标[&Q] 550 551 ProgramOnTheWeb=%1 on the Web 552 553 UninstallProgram=反安装 %1 554 555 LaunchProgram=执行 %1 556 557 AssocFileExtension=用文件扩展名 %2 匹配[&A] %1? 558 559 AssocingFileExtension=正在用文件扩展名 %2 匹配[&A] %1 中...
【1】add file,选中解决方案bin目录下所有单个文件。
【2】add folder,这个就是添加文件夹的,但是但是但是添加了之后安装了完成查看了一下安装目录发现并不能出现文件夹,路径里少了文件夹名称导致路径不对程序无法运行。
所以还是要从代码里找问题。add folder 只会给你生成【Source: "E:\YourPath\RunFolder\yourfloder1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs】
然而纵观整篇“编译文件.iss”代码,它只管给你copy文件过来,并没有给你创建你需要添加的那个文件夹。所以它默认给你把所有文件都生成在了同级目录下了。眉毛胡子一把抓就非常难受。
这时候我们需要手动去修改iss文件添加创建文件夹的代码语法如下:
注意:创建文件夹的语句要放在最上面执行,先有文件夹再copy文件到创建好的目录下。
[dirs]
Name:"{app}\yourfloder1"
Name:"{app}\yourfloder2"
Name:"{app}\yourfloder3"
这样生成了之后确实帮你创建了文件,但是文件还是挤在同级目录下,为什么?因为我们没有【Sourse】的路径这时候应该这样修改在
注意: ‘*’号是代表改文件夹下所有文件。
DestDir: "{app}" 代表导出目录的主目录
DestDir: "{app}\yourfloder1" 这样写就是导出到主目录下的yourfloder1文件夹中
自动生成:【Source: "E:\YourPath\RunFolder\yourfloder1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs】
手动修改:【Source: "E:\YourPath\RunFolder\yourfloder1\*"; DestDir: "{app}\yourfloder1"; Flags: ignoreversion recursesubdirs createallsubdirs】
这样子修改好了之后。把文件夹结构整理好,把文件copy到对应路径下就可以生成可运行的安装程序了。
下面是个人的微信公众号,会不定时更新技术博客!希望喜欢的小伙伴多多关注