Doubt about creating upgrade package with Inno Setup

Asked

Viewed 250 times

0

Good afternoon. I developed a small application in C#, and set up an installer for this application using Inno Setup. Some people who work with me have installed the application.

The problem is that I made some changes to the application, added new validations and the like, but I don’t want people who have already installed the application to need to uninstall and install again. I would like to know how to generate or if it is possible to generate an update package for my application by Inno Setup where users only run this package and it updates the application.

The Inno Setup generates a file .iss that when compiled, it generates the installed, the code contained in the file .iss is described below.

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Gerador de Chave de Acesso"
#define MyAppVersion "2.2"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "GeradorChaveDeAcesso.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={{20337CAE-69B4-4CA1-8C87-A3DC011563C4}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\{#MyAppName}
DisableProgramGroupPage=yes
 ; Remove the following line to run in administrative install mode (install         
  for all users.)

PrivilegesRequired=lowest
OutputBaseFilename=Gerador de Chave de Acesso
SetupIconFile=**\***\***\**\*****
Compression=lzma
SolidCompression=yes
WizardStyle=modern

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

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; 
 GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "**\***\***\**\*****"; DestDir: "{app}"; Flags: ignoreversion; NOTE:  
 Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; 
 Tasks: desktopicon

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

If anyone has ever messed with that tool and can explain it to me, it will be very helpful.

1 answer

0


Performing some tests, I got a more practical solution.

First, the project source code must be stored in the same directory as when the first version of the installer was generated.

Second, You must change the file .ISS updating and project version.

Third, compile the file .ISS.

Fourth, after compiling a new installer will be generated, simply make this new installer available to users, they will run the installer and update automatically if the user already has the application installed.

the amended Code is as follows (I will put only the parts that I have made changes to):

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Gerador de Chave de Acesso"
#define MyAppVersion "3.0"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "GeradorChaveDeAcesso.exe"

Browser other questions tagged

You are not signed in. Login or sign up in order to post.