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

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

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

Сообщение sov44 »

По окончании установки Your Uninstaller с ключом

Код:

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

start /wait yusetup7p.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-

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

инсталлятор -
http://rghost.ru/43511242
Аватара пользователя
Johny777

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

Сообщение Johny777 »

зашпилил новый способ (почти новый Изображение) перетаскивания формы за любую область!

раньше на форму нужно было накладывать прозрачный лейбл и присваивать ему в OnMouseDown

эту процедуру:

[more]

Код:

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

function ReleaseCapture: Longint; external 'ReleaseCapture@user32.dll stdcall';
procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(WizardForm.Handle,$0112,$F012,0);
end;

или всем остальным компонентам, за которые нужно было таскать

вот код. никаких OnMouseDown и лейблов. Он самодостаточный для всей клиентской области вне зависимости от того что на ней лежит


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






Код:

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

[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp
[code]
const
  WM_SYSCOMMAND = $0112;
  WM_MOUSEMOVE = $0200;
  VK_LBUTTON = 1;
  SC_DRAGMOVE = $F012;
type
  SHORT = Longint;
function GetKeyState(nVirtKey: Integer): SHORT; external 'GetKeyState@user32.dll stdcall';
function ReleaseCapture: BOOL; external 'ReleaseCapture@user32.dll stdcall';
procedure AppOnMSG(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message = WM_MOUSEMOVE then if GetKeyState(VK_LBUTTON) > 0 then
  begin
    ReleaseCapture;
    SendMessage(WizardForm.Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
    Handled := False;
  end;
end;
procedure InitializeWizard();
begin
  Application.OnMessage := @AppOnMSG;
end;





Пользуйтесь кому надо! Изображение



вот ещё забавный пример! попробуйте


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






Код:

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

[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp
[  code]
const
  WM_SYSCOMMAND = $0112;
  WM_MOUSEMOVE = $0200;
  VK_LBUTTON = 1;
  SC_DRAGMOVE = $F012;
type
  SHORT = Longint;
function GetKeyState(nVirtKey: Integer): SHORT; external 'GetKeyState@user32.dll stdcall';
function ReleaseCapture: BOOL; external 'ReleaseCapture@user32.dll stdcall';
function SetCapture(hWnd: HWND): HWND; external 'SetCapture@user32.dll stdcall';
procedure AppOnMSG(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message = WM_MOUSEMOVE then if GetKeyState(VK_LBUTTON) > 0 then
  begin
    ReleaseCapture
    SendMessage(Msg.hwnd, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
    Handled := False;
  end;
end;
procedure InitializeWizard();
begin
  Application.OnMessage := @AppOnMSG;
end;





===================================================================================



Gnom_aka_Lexander, касательно моего вопроса с пред. страницы можешь помочь?
Аватара пользователя
Gnom_aka_Lexander

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

Сообщение Gnom_aka_Lexander »

Nightwishh, както так:



Код:

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

procedure ShowRandomPics;
begin
  Pic := Pic+1;
  if Pic = SlidesNumber then Pic := 0;
  SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Image_' + IntToStr(Pic+1) + '.bmp'));
end;
Аватара пользователя
Gnom_aka_Lexander

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

Сообщение Gnom_aka_Lexander »

Всем привет! Подскажите, пожалуйста, кто знает или кто сталкивался, на примере этого кода:
читать дальше »




Код:

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

function NextButtonClick(CurPage: Integer): Boolean;
var
  sz:Integer;
  s:string;
    begin
  Result:=True;
 If CurPage=6 then
 //Проверка присутствия определенных файлов в папке с установленной программой на странице выбора папки назначения
  begin
 If (FileSearch('Main.exe', ExpandConstant('{app}'))='')
 or (FileSearch('Comp.dll', ExpandConstant('{app}')+'\data')='')
then
  begin
  s:='Извините, в директории '+ExpandConstant('{app}')+'' #13 'не обнаружены файлы, подтверждающие подлинность программы.' #13#13 'Пожалуйста, выберите правильный путь для установки обновления.';
  MsgBox(s, mbError, mb_Ok);
  Result:= False
end
else
 //И проверка размера оригинальных файлов
  begin
 If FileSize(ExpandConstant('{app}')+'\Main.exe', sz)
then
  begin
 If sz270336 //Проверяемый размер в байтах
then
  begin
  s:='Размер установленого компонента Main.exe не соответствует.' #13#13 'Для установки обновления требуются оригинальные файлы.';  MsgBox(s, mbCriticalError, mb_Ok);
  Result:= False
  end else
  begin
 If FileSize(ExpandConstant('{app}')+'\data\Comp.dll', sz)
then
  begin
 If sz3688328
then
  begin
  s:='Размер установленого компонента Comp.dll не соответствует.' #13#13 ' Для установки обновления требуются оригинальные файлы.';  MsgBox(s, mbCriticalError, mb_Ok);
  Result:= False
end;
end;
end;
end;
end;
end;
end;





Возможно ли как-то размер файлов считать с файла INI, а то файлы (по замыслу) должны загружаются через интернет всегда одним установщиком и размер файлов прописывать в установщике (по понятным причинам) бесмысленно.
Аватара пользователя
by_gangster

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

Сообщение by_gangster »

Gnom_aka_Lexander, я сидел на этими скриптами часа 2, но так и не смог разобраться, ты бы ещё хоть сам скачал и посмотрел на примерах, я вообщще не понял в какую папку он скачал файлы
Аватара пользователя
by_gangster

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

Сообщение by_gangster »

мне нужно чтобы файл распаковался по такому пути через isdone но можно и через секцию files
http://i54.fastpic.ru/big/2013/0203/...9a93c14d49.jpg
Аватара пользователя
sov44

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

Сообщение sov44 »

Нужна программа для распаковки последней версии
Your Uninstaller! Pro 7.4.2012.05 DC 03.02.2013


innounp_plus_0.36, innounp038 не справляются
http://savepic.org/2731889.jpg
Аватара пользователя
Gnom_aka_Lexander

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

Сообщение Gnom_aka_Lexander »

by_gangster, Берем прямо первый пример из тех, что идут с библиотекой. открываем. и что мы там видим?



Код:

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

 itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip',expandconstant('{tmp}\dogz5.zip'));

что тут непонятно?

первый параметр - адрес, второй - полный путь до сохраняемого файла. если ты не знаешь, куда ведет константа {tmp}, то посмотри в справке.



insombia, ExpandConstant('{userappdata}\Theta') вопрос поднимается периодически, хотел предложить вынести константы с описаниями в шапку, но смысл - если лень посмотреть в справку, то в шапку заглянуть не менее лениво будет, мне кажется.



sov44, запусти инстал и нажми меню о программе. там видно, что скомпилено на расширенной версии инно, а для расширенной версии так никто никогда и не сделал еще анпакера.
Аватара пользователя
Johny777

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

Сообщение Johny777 »

Dima-WAR ну в принципе можно,думаю умельцы тебе подскажут
Ответить

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