首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Inno安装程序更新应用程序

使用Inno安装程序更新应用程序
EN

Stack Overflow用户
提问于 2015-02-03 04:49:16
回答 1查看 4.7K关注 0票数 3

我正在学习如何使用Inno Setup为我的项目创建一个安装程序。不过,当涉及到更新时,我遇到了一个问题。我已经创建了安装程序,并成功安装了我的应用程序。然后,我在脚本中更新了我的版本号并重新编译,但是当我运行安装程序时,它似乎仍然将其视为新的安装。

例如,它会询问我希望将应用程序安装到哪里,当我单击下一步时,它会告诉我该目录已经存在。因为已经安装了该应用程序。我原以为这一部分会被跳过。

下面是我的InnoSetup脚本

代码语言:javascript
复制
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "SQLite Manager"
#define MyAppVersion "1.0.0.2"
#define MyAppPublisher "Boardies IT Solutions"
#define MyAppURL "http://www.boardiesitsolutions.com"
#define MyAppExeName "SqliteManager.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{98A016AD-2DE2-4FF9-B639-0FDCA0BE41FD}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\Boardies IT Solutions\{#MyAppName}
DefaultGroupName=Boardies IT Solutions
LicenseFile=C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\Terms.txt
OutputBaseFilename=sqliteman
SetupIconFile=C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\Logo.ico
Compression=lzma
SolidCompression=yes
UsePreviousAppDir=yes
CreateUninstallRegKey=no
UpdateUninstallLogAppName=no
DisableDirPage=auto

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\SqliteManager.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\BoardiesITSolutions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\BoardiesITSolutions.INIReader.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\changelog.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\EntityFramework.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\EntityFramework.SqlServer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\Middleware.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\MySql.Data.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\System.Data.SQLite.EF6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\System.Data.SQLite.Linq.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\WhatsNew.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
EN

回答 1

Stack Overflow用户

发布于 2017-02-21 02:13:53

我注意到小细节AppId={{98A016AD-2DE2-4FF9-B639-0FDCA0BE41FD}

看起来你缺了一个右大括号。

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28286473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档