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

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

Пользователь


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

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


Цитата Лександер:
Во первых, чтоб тебе помогли - необходимо привести скрипт, а не скриншот скрипта - в правилах темы это наверняка есть.
Во вторых, чтобы не нарушать правила и не убивать всякое желание помогать тебе - прячь мемуары под спойлер - в правилах форума это тоже наверняка есть.
Вот:

Почему НЕ компилируется этот скрипт, что здесь не так?

читать дальше »
[Setup]
AppId={{85D6A3ED-1BE1-42DC-9CBA-CDD181AA79A3}
AppName=My Program
AppVersion=1.5
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
AllowNoIcons=yes
ShowLanguageDialog=auto
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: english; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[CustomMessages]
english.DelMsg=This program or its other version has already been previously installed.%nDo you want to remove it first?
english.ErrorRem=Failure to remove.
english.ErrorRem2=Probably the uninstaller has been moved, deleted or renamed.

russian.DelMsg=Эта программа или другая её версия уже была ранее установлена.%nВы хотите предварительно удалить её?
russian.ErrorRem=Ошибка удаления.
russian.ErrorRem2=Вероятно, деинсталлятор был перемещён, удалён или переименован.

Код: Выделить весь код
function InitializeSetup(): Boolean;
var
  ResultCode: Integer;
  ResultStr:string;
begin
Result:=True;
begin
  If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{85D6A3ED-1BE1-42DC-9CBA-CDD181AA79A3}_is1', 'UninstallString', ResultStr)
then
 begin
  If ResultStr<>''
then
 begin
  ResultStr:=RemoveQuotes(ResultStr);
  if MsgBox(ExpandConstant('{cm:DelMsg}'), mbInformation, MB_YESNO) = idYes
then
  if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode)
then
  MsgBox(ExpandConstant('{cm:ErrorRem} ') #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 ExpandConstant('{cm:ErrorRem2}'), mbError, MB_OK);
end;
end;
end;
end;

[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:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Name: "{group}\{cm:ProgramOnTheWeb,My Program}"; Filename: "http://www.example.com/"
Name: "{group}\{cm:UninstallProgram,My Program}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\My Program"; Filename: "{app}\MyProg.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\MyProg.exe"; Description: "{cm:LaunchProgram,My Program}"; Flags: nowait postinstall skipifsilent


Цитата Serega:
уже отвечал на похожий вопрос...
; определение версии установленного .Net Framework
Как к этому скрипту добавить сообщения на разных языках с возможностью указания версии в CustomMessanges в виде переменной, а также как к нему прикрутить предыдущий код из предыдущего скрипта, - они друг друга перекрывают?!

читать дальше »
[Setup]
AppName=NetFramework
AppVerName=NetFramework
DefaultDirName={pf}\NetFramework
OutputDir=.
Compression=lzma/ultra64
InternalCompressLevel=ultra64
SolidCompression=yes
VersionInfoCopyright=Serega

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

Код: Выделить весь код
const
  MinNetFrameWork = 'v4.0'; // минимальная версия NetFrameWork
  // Возможные версии = 'v1.0', 'v1.1', 'v2.0', 'v3.0', 'v3.5', 'v4.0'

var
  url: string;

procedure GetUrlNetFrameWork(ver: string);
begin
  // страница загрузок http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=Framework&DisplayLang=ru
  case ver of
    // по этой ссылке v1.1, т.к. ссылку на v1.0, я не нашёл... раритет... ;)
    'v1.0': url := 'http://download.microsoft.com/download/0/8/6/086e7824-ddad-45c0-b765-721e5e28e4c5/dotnetfx.exe';
    'v1.1': url := 'http://download.microsoft.com/download/0/8/6/086e7824-ddad-45c0-b765-721e5e28e4c5/dotnetfx.exe';
    'v2.0': url := 'http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe';
    'v3.0': url := 'http://download.microsoft.com/download/4/d/a/4da3a5fa-ee6a-42b8-8bfa-ea5c4a458a7d/dotnetfx3setup.exe';
    'v3.5': url := 'http://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe';
    'v4.0': url := 'http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe';
  else
    url := 'http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe';
  end;
end;

function CompareMinVer(const ver: string): Boolean;
var
  min_ver: string;
begin
  Result := False;
  min_ver := MinNetFrameWork;
  if (Length(min_ver) > 2) and (Length(ver) > 2) then
    if (min_ver[2] > #47) and (min_ver[2] < #58) and (ver[2] > #47) and (ver[2] < #58) then
      Result := ver[2] > min_ver[2];
end;

function DetectInstallNetFrameWork: Boolean;
var
  VerNetFrameWorkInstalled: TArrayOfString;
  i: Integer;
begin
  Result := False;
  if RegGetSubkeyNames(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP', VerNetFrameWorkInstalled) then
    case CompareMinVer(VerNetFrameWorkInstalled[0]) of
      True : Result := True;
      False:
        for i := 0 to GetArrayLength(VerNetFrameWorkInstalled)-1 do
          if Pos(MinNetFrameWork, VerNetFrameWorkInstalled[i]) > 0 then
            begin
              Result := True;
              Break;
            end;
    end;
end;

function SearchNetFrameWork: Boolean;
var
  ErrorCode: Integer;
begin
  Result := DetectInstallNetFrameWork;
  if not Result then
    if MsgBox('Для этой программы требуется установленный .NET Framework не ниже ' + MinNetFrameWork + '. ' +
              'Пожалуйста загрузите и установите .NET Framework и запустите установку снова. ' +
              'Вы хотите загрузить .NET Framework сейчас?', mbConfirmation, MB_YESNO) = idYes then
      begin
        GetUrlNetFrameWork(MinNetFrameWork);
        ShellExec('open', url, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
      end;
end;

function InitializeSetup: Boolean;
begin
  Result := SearchNetFrameWork;
end;

Последний раз редактировалось TROY Diamond, 12-01-2012 в 21:36.


Отправлено: 20:47, 12-01-2012 | #610