[архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Ответить
 • Просмотры: 5
Аватара пользователя
solvador

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение solvador »

Serega, еще раз спасибо! Вы как всегда на высоте!


Цитата Serega:



А у вас нет точно такого же, но с сиреневыми пуговицами...
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Изображение
Аватара пользователя
YURSHAT

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение YURSHAT »

Serega, а есть возмозножность сделать так, чтобы мое созданное сообщение выводилось раньше стандартного. Например это

Код:

Код: Выделить всё

function NextButtonClick(CurPageID: Integer): Boolean;
var
  Path,s: String;
  FreeMB, TotalMB: Cardinal;
begin
  Result:= True;
  if CurPageID = wpSelectDir then
    begin
      Path:= ExtractFileDrive(WizardForm.DirEdit.Text);
      GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
       if FreeMB < (NeedSize*1024) then
    begin
      if FreeMB>1024 then
      begin
       s:='Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' GB,'#13+'а на выбранном Вами диске доступно только '+ floatToStr(round(FreeMB/1024*100)/100) + ' GB!'
      end
        else s:='Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' GB,'#13+'а на выбранном Вами диске доступно только '+ + IntToStr(FreeMB)+' MB';
      MsgBox(s, mbCriticalError, MB_OK)
        Result := False;
    end;
    end;
Аватара пользователя
Serega

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение Serega »

Цитата МИШАНЧИК:



Можно ли как-то сделать
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Добавьте к компоненту a\e, флаг checkablealone, т.е.:



Код:

Код: Выделить всё

Name: a\e; Description: Nero CoverDesigner; Types: full custom; ExtraDiskSpaceRequired: 99614249; Flags: checkablealone
Аватара пользователя
solvador

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение solvador »

Serega, добавил, ничего не изменилось.

Если я снимаю галку с a\e\a, то она автоматом снимается и с a\e и поставить отдельно на a\e нельзя, получается нужно ставить на a\e\a и тогда она автоматом ставиться на a\e. А так было и до
Цитата Serega:



флаг checkablealone
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




.

Может как-то ещё?
Аватара пользователя
solvador

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение solvador »

Цитата МИШАНЧИК:



Если я снимаю галку с a\e\a, то она автоматом снимается и с a\e и поставить отдельно на a\e нельзя
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Неправда, именно это работает...


Цитата МИШАНЧИК:



получается нужно ставить на a\e\a и тогда она автоматом ставиться на a\e. А так было и до
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Всегда при выборе дочернего компонента, автоматом выбирается родительский, т.к. смысл установки дочернего теряется...
Аватара пользователя
STRELOK

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение STRELOK »

Цитата Serega:



Цитата Lancer2404:

А если мне надо сделать только копии заменяемых файлов? »

Вы честное слово, как в одном очень известном фильме... А у вас нет точно такого же, но с сиреневыми пуговицами...

Какой вопрос поставили, такой ответ и получили.

Как вы решили автоматически определить заменяемые файлы? Нужен какой-то список файлов в вашем инсталляторе, затем он сверяется с наличием с именами файлов в каталоге и если имена совпадают, то копирует их. Или все имена прописывать в ручную, т.е. if FileExists(FileName) then копируем...

-------
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]






Но в этом коде меня все устраивает.Вот эти сточки как раз и отвечают за бекап файлов которые копируются.



Код:

Код: Выделить всё

ForceDirectories(ArcDir);
SrcFile:= AddBackslash(ExpandConstant('{app}\data')) + ExtractFileName(CurrentFileName);
DestFile:= AddBackslash(ArcDir) + ExtractFileName(CurrentFileName);
FileCopy(SrcFile, DestFile, False);

Но в данный момент он делает бекап только файлоа которые копируются в папку data.Как добавить путь для других папок

Пробовал

SrcFile:= AddBackslash(ExpandConstant('{app}\data')) + ExtractFileName(CurrentFileName)+

AddBackslash(ExpandConstant('{app}\data\theme')) + ExtractFileName(CurrentFileName);



непомогло
Аватара пользователя
volk1234

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение volk1234 »

STRELOK



1. Используйте тег

Код: Выделить всё


2. Большие скрипты лучше выкладывайть в виде вложенных файлов.
Аватара пользователя
Raf-9600

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение Raf-9600 »

Программа состоит из набора компонентов. Требуется удалять или добавлять выбранные компоненты уже после инсталляции.



То есть я пытаюсь прикрутить UninsHs для Modify/Repair/Remove, но он нифига, как оказалось не делает, кроме добавления своего окна...



Попытка отменить выбор раннее установленных компонентов вызывает это сообщение:



Изображение



Такое же окно получаю и при повторном запуске инсталлятора Изображение



Здесь, в закрытом обсуждении, нашел вот это (практически мой случай):

http://forum.oszone.net/showpost.php?p=1169563


http://forum.oszone.net/showpost.php?p=1169728




Вопрос есть ли движение в этом направлении? Если все по-прежнему "глухо", то хотя бы намекните как:


Цитата:



написать руками функцию которая будет смотреть чекнута ли компонента и удалять все ее файлы



а то у меня уже голова кругом идет...



Спасибо.
Аватара пользователя
volk1234

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение volk1234 »

Цитата Lancer2404:



Как добавить путь для других папок
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Если вас не устраивает предложенный вариант с CopyDir, то посмотрите в Коллекции скриптов, ссылка есть в шапке темы, там есть несколько скриптов с поиском и копированием файлов...




Цитата ADremLIN:



Требуется удалять или добавлять выбранные компоненты уже после инсталляции.
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




В любом случае все файлы и папки придётся прописывать руками, т.е. после установки, на финишной странице производите проверку выбранных компонентов и в соответствии с выбором производите манипуляции с файлами...


Цитата ADremLIN:



Попытка отменить выбор раннее установленных компонентов вызывает это сообщение
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Чтоб избежать этого сообщения, добавьте к каждому компоненту флаг disablenouninstallwarning
Аватара пользователя
STRELOK

Re: [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Сообщение STRELOK »

Цитата Serega:



В любом случае все файлы и папки придётся прописывать руками, т.е. после установки, на финишной странице производите проверку выбранных компонентов и в соответствии с выбором производите манипуляции с файлами...



Понятно. Все придется делать руками... Изображение



Спасибо за советы. Буду попробовать.
Ответить

Вернуться в «Автоматическая установка приложений»