GARANTIR DESCONTO

Fórum Inno Setup: Pacote de ATUALIZAÇÃO #339112

22/03/2007

0

Olá,

Antes de mais nada, quero parabenizar esse forum... aprendi muita coisa aqui... inclusive aqui aprendi a criar meu pacote de INSTALAÇÃO (com ´cara´ profissional) para distribuir meus arquivos... quanto a isso to super satisfeito. Obrigado a Todos.
Bom... Vamos lá... preciso criar um pacote de ATUALIZAÇÃO... que achei que iria ser mais simples... mas me deparei com algumas dúvidas... já revirei tudo... aqui... google... help do Inno... site do Inno... etc... mas naum obtive respostas... espero que vcs possam me dar uma luz no fim do tunel...

Preciso das seguintes caracteristicas no meu pacote de ATUALIZAÇÃO:

1. Só instalar se existir uma Pasta especifica (Não permitir que a essa pasta seja alterada).
2. Se Não existir essa pasta... avisar que a pasta não existe e parar a instalação.
3. Antes de Instalar... Verificar se o arquivo existente é mais atualizado, se for avisar/perguntar.
obs.: pra esse ultimo usei a Flag: promptifolder... se esse for a melhor maneira.. desconsiderem.

Obrigado a todos

Abraços

Marcos


Ericdravenbr

Ericdravenbr

Responder

Posts

22/03/2007

Rodc

Tem a função DirExists() que você pode usar no InitializeSetup() do programa.

por exemplo
function InitializeSetup(): Boolean;
begin
    if not ( DirExists(´C:\teste´) ) then
    begin
        MsgBox(´Pasta teste não existe´), mbError, MB_OK);
        Result := false;
        exit;
    end;
end;



Responder

Gostei + 0

22/03/2007

Ericdravenbr

Oi Amigo rodc,

Tentei usar a função que passou... mas deu erro... acrescentei a função no final do meu script... veja se fiz certo:

.
.
.
[Files]
Source: C:\MeuProg\MeuProg.exe; DestDir: ; Flags: promptifolder comparetimestamp
; NOTE: Don´t use ´Flags: ignoreversion´ on any shared system files

[Icons]
Name: \MeuProg; Filename: \MeuProg.exe; Tasks: desktopicon; Languages: ; Flags: uninsneveruninstall

[Run]
Filename: \MeuProg.exe; Description: {cm:LaunchProgram,MeuProg}; Flags: nowait postinstall skipifsilent unchecked

[Code]
function InitializeSetup(): Boolean;
begin
if not ( DirExists(´C:\teste´) ) then
begin
MsgBox(´Pasta teste não existe´), mbError, MB_OK);
Result := false;
exit;
end;
end;

MENSAGEM DE ERRO: Compiler Error - Line 73: Column 41: Ivalid Number of Parameter.

Obrigado

Marcos


Responder

Gostei + 0

23/03/2007

Rodc

OPA!!!! O MsgBox estava fechando no lugar errado.

function InitializeSetup(): Boolean; 
begin 
    if not ( DirExists(´C:\teste´) ) then 
    begin 
        MsgBox(´Pasta teste não existe´, mbError, MB_OK); 
        Result := false; 
        exit; 
    end; 
end;



Responder

Gostei + 0

25/03/2007

Ericdravenbr

oi amigo rodc ... era isso mesmo que estava precisando... valew mesmo...!


Responder

Gostei + 0

29/05/2019

Alex Abreu

Bom dia, sou novato nessa área de programação e estou com dificuldades de programar um executável de atualização através do Inno Setup para meu sistema desenvolvido em VBA (Uso Interno do meu Trabalho) até então vendo tutoriais na internet consegui fazer um script para instalação e desinstalação padrão pelo Inno Setup, porém eu preciso desenvolver um executável que reconheça se já o sistema foi instalado que o atualize um arquivo xlsm mais recente mantendo o resto do conteúdo da pasta instalado ou caso não foi instalado o instale normalmente.

Aqui segue os códigos gerados pelo script padrão

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Sistema de Diárias"
#define MyAppVersion "3.0 Build 2019.28.05154441"
#define MyAppPublisher "Adm. Alexsandro D. S. de Abreu"
#define MyAppURL "https://www.linkedin.com/in/alxabreu/"
[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.)

AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\\{#MyAppName}
DefaultGroupName=Sistema de Diárias PMRC
AllowNoIcons=yes
LicenseFile=D:\\Dados Alex Abreu\\Trabalho\\Sistema de Diárias\\Referencias\\03.2018 - INSTRUÇÃO NORMATIVA  DIÁRIAS.txt
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
OutputDir=D:\\Dados Alex Abreu
OutputBaseFilename=diarias301
SetupIconFile=D:\\Dados Alex Abreu\\Trabalho\\Bitmaps VBA\\logo_pmrc_icons\\logo_pmrc_AoQ_12.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern

[Languages]
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\\BrazilianPortuguese.isl"

[Files]
Source: "D:\\Dados Alex Abreu\\Trabalho\\Sistema de Diárias\\Sistema de Diária 3.0 Build 2019.28.05154441.xlsm"; DestDir: ""; Flags: ignoreversion
Source: "D:\\Dados Alex Abreu\\Trabalho\\Fontes adicionais\\DS-DIGI.ttf"; DestDir: ""; FontInstall: "DS-DIGI.ttf"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "D:\\Dados Alex Abreu\\Trabalho\\Fontes adicionais\\DS-DIGIB.ttf"; DestDir: ""; FontInstall: "DS-DIGIB.ttf"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "D:\\Dados Alex Abreu\\Trabalho\\Fontes adicionais\\DS-DIGII.ttf"; DestDir: ""; FontInstall: "DS-DIGII.ttf"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "D:\\Dados Alex Abreu\\Trabalho\\Fontes adicionais\\DS-DIGIT.ttf"; DestDir: ""; FontInstall: "DS-DIGIT.ttf"; Flags: onlyifdoesntexist uninsneveruninstall
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Dirs]
Name: \\Temp
Name: \\PDF
[Icons]
Name: "\\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "\\{cm:UninstallProgram,{#MyAppName}}"; Filename: ""


Agradeço desde já

Alex Abreu
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar