Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


я извиняюсь, но почему-то этот код не работает
ставлю версию 1.0.0.5 на версию 1.0.0.4 - пишет что новейшая версия уже установлена...
Код: Выделить весь код
[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={{1419C2B5-9C27-42DE-9424-9EB8FEEF4C3B}
AppName=MyApp
AppVersion=1.0.0.5
;AppVerName=MyApp 1.0.0.5
AppPublisher=Студия "Автоматизация ИП"
AppPublisherURL=http://MyApp.kz/
AppSupportURL=http://MyApp.kz/
AppUpdatesURL=http://MyApp.kz/
DefaultDirName={pf}\MyApp
DefaultGroupName=MyApp
LicenseFile=C:\CVSWork\MyAppFB\MyApp32\license.txt
OutputDir=C:\CVSWork\MyAppFB\MyApp32
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.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:\CVSWork\MyAppFB\MyApp32\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\CVSWork\MyAppFB\MyApp32\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files


#define VersionMajor
#define VersionMinor
#define VersionRevision
#define VersionBuild
#expr ParseVersion("MyApp.exe", VersionMajor, VersionMinor, VersionRevision, VersionBuild)
#define VersionMS ((VersionMajor << 16) + VersionMinor)
#define VersionLS ((VersionRevision << 16) + VersionBuild)

{Code}
type
  VersionState = (vsNotInstalled, vsOlderInstalled, vsSameInstalled, vsNewerInstalled);

function GetVersionState(): VersionState;
var
  ExePath: String;
  VersionMS, VersionLS: Cardinal;
  VersionMSs : Cardinal;
begin
  ExePath := ExpandConstant('{app}\MyApp.exe');
  if GetVersionNumbers(ExePath, VersionMS, VersionLS) then begin
    if (VersionMS < {#VersionMS}) or ((VersionMS = {#VersionMS}) and (VersionLS < {#VersionLS})) then begin
      Result := vsOlderInstalled;
    end else if (VersionMS > {#VersionMS}) or ((VersionMS = {#VersionMS}) and (VersionLS > {#VersionLS})) then begin
      Result := vsNewerInstalled;
    end else begin
      Result := vsSameInstalled;
    end;
  end else begin
    Result := vsNotInstalled;
  end;
end;

function NextButtonClick(CurPageId: Integer): Boolean;
var VersState : VersionState;
begin
  Result := True;
  if CurPageId = wpSelectDir then begin
    VersState := GetVersionState();
    if (VersState = vsNewerInstalled) or (VersState = vsSameInstalled) then begin
      MsgBox('Последняя версия программного продукта уже установлена. Установка будет отменена.', mbConfirmation, MB_OK);
      Result := False;
      WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
    end;
  end;
end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
    Confirm := false;
end;

[Icons]
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"
Name: "{commondesktop}\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\MyApp.exe"; Description: "{cm:LaunchProgram,MyApp}"; Flags: nowait postinstall skipifsilent
что я написал не так?

Отправлено: 13:07, 29-04-2015 | #556