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

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

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

Сообщение leshcat »

Цитата Rikill:



Лександер, почему тебе не отправить пм?
Скрипты Inno Setup. Помощь и советы [часть 3]




Надоело уже думать за всех, отключил прием сообщений ото всех, кроме тех, кто есть в адресной книге.

TRMK, Пробуй:


читать дальше »


; Скрипт создан через Мастер Inno Setup Script.

; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

; Версию указываеш здесь. проверку по дробной версии делать не стал - и так голова опухла уже.

#define VERSION 1

; Дает возможность ограничить количество запусков на одной машине

; на определенное количество раз. После чего можно запустить инсталл

; только либо следующей версии, либо предидущей.

; Количество запусков указать здесь:

#define COUNT 5



[Setup]

AppName=My Application

AppVersion={#VERSION}

OutputBaseFilename=MiProg

DefaultDirName={pf}\My Application


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


var  ver,n,m: String;



function InitializeSetup(): Boolean;

begin

  if not (RegQueryStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsNum',n)

    and RegQueryStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsVer',ver))then begin

     ver:='{#VERSION}';

     RegWriteStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsNum', '1');

     RegWriteStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsVer', ver);

     Result:=True;

  end;



  if RegQueryStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsVer',ver)then

     if(StrToInt(ver){#VERSION})then begin ver:='{#VERSION}';

     RegWriteStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsNum', '1');

     RegWriteStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsVer', ver);

     Result:=True;

  end;



  if RegQueryStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsNum',n) then begin

     m :=IntToStr(StrToInt(n)+1);

     RegWriteStringValue(HKLM, 'SOFTWARE\Company\ProgramName','InsNum', m);

  if (StrToInt(n)>{#COUNT}) then if (StrToInt(ver)={#VERSION})then begin

     MsgBox( 'Error', mbinformation, mb_ok );

     Result:=False;

end else begin

  if ((StrToInt(n)={#Count}) then begin

   MsgBox( 'Error', mbinformation, mb_ok );

   Result:= False;

   Exit;

 end;



 if (regv=-1)or(regv{#Version}) then RegWriteDWordValue(HKLM, 'SOFTWARE\Company\ProgramName', 'InsVer', {#Version});

 regmod:= regn+1;

 if (regv{#Version})or(regn=-1) then regmod:=1; RegWriteDWordValue(HKLM, 'SOFTWARE\Company\ProgramName', 'InsNum', regmod);

 Result:= True;

end;
Аватара пользователя
valyok666

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

Сообщение valyok666 »

доброго времени суток)нужно замутить такую тему)в дополнительные задачи Установка стим моделей в папку куда была установлена кс)чекбокс сделан а вот как прописать что бы устанавливало туда куда пользователь установил кс не знаю)или можно распаковку sfx архива но как прописать путь?
Аватара пользователя
insombia

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

Сообщение insombia »

А можно замутить прогрессбар типа так как льёться вода?Чтобы по капелькам прогрессбар шел?
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

Пожалуйста подскажите как делать такую панель?????
http://i057.radikal.ru/1107/6a/4ec1d548c6de.jpg
Аватара пользователя
insombia

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

Сообщение insombia »

Цитата Rikill:



No4noylis, статус панель
http://narod.ru/disk/7844367001/STS_v.1.0.rar.html
Скрипты Inno Setup. Помощь и советы [часть 3]




Не пойму как это к инсталлу прикрутить, нельзя ли пример готового скрипта????? Плиз!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Аватара пользователя
insombia

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

Сообщение insombia »

Neutron



Спасибо, работает. Изображение



insombia



И тебе спасибо за помощь.
Аватара пользователя
leshcat

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

Сообщение leshcat »

Цитата Shegorat:



TRMK

В дополнение к посту Лександер'а.

Добавил возможность удалить сетапник
Скрипты Inno Setup. Помощь и советы [часть 3]




Все работает на ура! Спасибо большое!

Еще вопрос созрел: А можно сделать так, чтобы установщик уничтожался или не запускался не зависимо от того, сколько раз он на определенном компе устанавливался, чтобы его лимит установок был определенное кол-во раз и все, потом он не мог запускаться? Или это уже не решаемо?
Аватара пользователя
No4noylis

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

Сообщение No4noylis »

Цитата TRMK:



А можно сделать так, чтобы установщик уничтожался или не запускался не зависимо от того, сколько раз он на определенном компе устанавливался, чтобы его лимит установок был определенное кол-во раз и все, потом он не мог запускаться? Или это уже не решаемо?
Скрипты Inno Setup. Помощь и советы [часть 3]




Я так понял, что ты хочеш ограничить количество установок самого инсталла, не зависимо от компьютера? Теоретически, я преимерно представляю ,как такое сделать. Вот с реализацией... Тут нужны настоящие знатоки программирования... Варианты - либо инсталл при каждой установке пачит сам себя, не знаю, насколько это возможно. Либо он несет в себе набор для компиляции и уничтожает сам себя при каждой установки, в процессе которой компилится новый инсталл, со счетчиком оставшихся запусков на один меньше. Но подозреваю, что это оооочень геморойно.
Аватара пользователя
insombia

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

Сообщение insombia »

Цитата Лександер:



Я так понял, что ты хочеш ограничить количество установок самого инсталла, не зависимо от компьютера? Теоретически, я преимерно представляю ,как такое сделать. Вот с реализацией... Тут нужны настоящие знатоки программирования... Варианты - либо инсталл при каждой установке пачит сам себя, не знаю, насколько это возможно. Либо он несет в себе набор для компиляции и уничтожает сам себя при каждой установки, в процессе которой компилится новый инсталл, со счетчиком оставшихся запусков на один меньше. Но подозреваю, что это оооочень геморойно.
Скрипты Inno Setup. Помощь и советы [часть 3]




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

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