Всем привет, такой вопрос, как в скрипте NFS Undercover сделать картинки на каждой странице?(Приветствие, задачи и т.д)
» Inno Setup (создание инсталяционных пакетов)
VicF1, да,
Команда: "D:\Program Files\Анпакер\Анп.exe" -l1049 -v -m "D:\Torrent\BATTLE~1\setup.exe"
; Обнаружена подпись: Inno Setup Setup Data (5.4.2)
Данная версия не поддерживается, однако будет предпринята попытка распаковки как версии 5310
; Обнаружена версия: 5402
Команда: "D:\Program Files\Анпакер\Анп.exe" -l1049 -v -m "D:\Torrent\BATTLE~1\setup.exe"
; Обнаружена подпись: Inno Setup Setup Data (5.4.2)
Данная версия не поддерживается, однако будет предпринята попытка распаковки как версии 5310
; Обнаружена версия: 5402
кто знает почему при деинсталляции удаляются файлы из папки,а папка которая создалась остается,как это испаравить? в [UninstallDelete] Type: filesandordirs; Name: {app}
Скажите как на стекло в iswin7 добавить прогресс бар удаления, и проценты распаковки?
Snoopak96
В общем красиво
заметил следующее, что на стр. установки нажать отмена, то прогресс бар не скрывается, хотя остальные элементы скрываются...
также сначала пишется "завершение установки", а уже потом "откат изменений..."...
Добавлено:
а также смысл таскать innocallback.dll? если в ISDone.dll есть: function WrapCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:ISDone.dll stdcall delayload';
В общем красиво
заметил следующее, что на стр. установки нажать отмена, то прогресс бар не скрывается, хотя остальные элементы скрываются...
также сначала пишется "завершение установки", а уже потом "откат изменений..."...
Добавлено:
а также смысл таскать innocallback.dll? если в ISDone.dll есть: function WrapCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:ISDone.dll stdcall delayload';
Инсталлятор может после установки сам себя скопировать? Данный код не работает:
Код: FileCopy(ExpandConstant('{srcexe}'), 'C:\Test\test.exe', False);
Код: FileCopy(ExpandConstant('{srcexe}'), 'C:\Test\test.exe', False);
Цитата:
Всем привет, такой вопрос, как в скрипте NFS Undercover ( от Yarshat) сделать картинки на каждой странице?(Приветствие, задачи и т.д)
+1, пожалуйста подскажите
Kizyak
[more=Вот, как-то так]
В процедуре CreateWizardImage
Код: fon2=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\fon2.jpg'),ScaleX(0), ScaleY(95),WizardForm.ClientWidth,ScaleY(20),True,True);
[more=Вот, как-то так]
В процедуре CreateWizardImage
Код: fon2=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\fon2.jpg'),ScaleX(0), ScaleY(95),WizardForm.ClientWidth,ScaleY(20),True,True);
shmel1985q так кагбэ написано что файл не найден
insombia фаил есть всё спасибо разобрался.
Edison007007
Цитата:
IsDone не хавает:
Цитата:
Возиться уже было лень)
Добавлено:
sergey3695
Цитата:
хз, ну судя по ошибке - указан какой-то сетевой путь в Diredit, хотя странно что страница Ready не появилась, она включена по умолчанию, проскань систему на вири.
Цитата:
а также смысл таскать innocallback.dll? если в ISDone.dll есть: function WrapCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:ISDone.dll stdcall delayload';
IsDone не хавает:
Цитата:
TimerProc = procedure(Sender: TObject);
function CallbackAddr(Callback: TimerProc; ParamCount: Integer): LongWord; external 'wrapcallback@files:innocallback.dll stdcall';
Возиться уже было лень)
Добавлено:
sergey3695
Цитата:
Почему я оказался на странице установки, когда нажал далее?
хз, ну судя по ошибке - указан какой-то сетевой путь в Diredit, хотя странно что страница Ready не появилась, она включена по умолчанию, проскань систему на вири.
Цитата:
хз, ну судя по ошибке - указан какой-то сетевой путь в Diredit,
я просто в пути установки стер двоеточее где диск,вот выдалась ошибка при нажатие на кнопку "установить", вот только почему перешло на страницу установки, хотя такого не должно быть. (должна остаться страница selectdirpage при ошибки такого рода) Наверно сделай как я у себя сделал, в проверки места на диске сделай так , ну я думаю идея понятна.
sergey3695
Да и у меня примерно так же расчёт места, только условия чуть отличаются, не понял зачем в этом примере таймер, можно и без него обойтись.
Есть вопрос: Кто-нибудь юзал библиотеки DirectX XACT? Интересует как определять какие нужны приложению, в инпуте обычно ничего по ним нет. Есть конечно способ злостно удалять из папки windows все *_xact.dll и потом проверять запуск, но это не решение)
Да и у меня примерно так же расчёт места, только условия чуть отличаются, не понял зачем в этом примере таймер, можно и без него обойтись.
Есть вопрос: Кто-нибудь юзал библиотеки DirectX XACT? Интересует как определять какие нужны приложению, в инпуте обычно ничего по ним нет. Есть конечно способ злостно удалять из папки windows все *_xact.dll и потом проверять запуск, но это не решение)
Цитата:
не понял зачем в этом примере таймер, можно и без него обойтись.
здесь кусок, из примера с миганием -> а таймер нужен для того чтобы надпись мигала
Добавлено:
Цитата:
вот только почему перешло на страницу установки
анологичный вопрос...
Snoopak96
я вообще не понял, как ты такой ошибки добился... щас пробовал специально так сделать не получается :\
Цитата:
Snoopak96
я вообще не понял, как ты такой ошибки добился... щас пробовал специально так сделать не получается :\
может он что-то для nextbutton там прописывал..
sergey3695
нет, на ней ничего не висит.
нет, на ней ничего не висит.
Подскажите пожалуйста, как на созданной странице с именем CustomPageХ, кнопку "Далее" заменить на "Установить". В этом коде где-то нужно прописать что-то, где и как.
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectTasks then
begin
If WizardForm.FindComponent('NextButton') is TButton
then
TButton(WizardForm.FindComponent('NextButton')).Caption:='Установить';
end;
И можно ли как в IS средствами Inno реализовать удаление или изменение установленных компонентов (удаление части игр из одного пакета \трилогия\ или добавление любой или нескольких из не установленных ранее), если можно пример или где искать ответ. Спасибо.
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectTasks then
begin
If WizardForm.FindComponent('NextButton') is TButton
then
TButton(WizardForm.FindComponent('NextButton')).Caption:='Установить';
end;
И можно ли как в IS средствами Inno реализовать удаление или изменение установленных компонентов (удаление части игр из одного пакета \трилогия\ или добавление любой или нескольких из не установленных ранее), если можно пример или где искать ответ. Спасибо.
bongo123
Цитата:
[more=Так пробуй]
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
CustomPageХ.ID: begin
WizardForm.NextButton.Caption:=SetupMessage(msgButtonInstall);
end;
end;
end;
P.S.: Если конечно ты правельно страницу создал. (вслепую написал код).
[/more]
Цитата:
Воспользуйся, DeleteFile(Тут твой файл);
P.S.: Если я правильно понял.
Цитата:
Подскажите пожалуйста, как на созданной странице с именем CustomPageХ, кнопку "Далее" заменить на "Установить". В этом коде где-то нужно прописать что-то, где и как.
[more=Так пробуй]
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
CustomPageХ.ID: begin
WizardForm.NextButton.Caption:=SetupMessage(msgButtonInstall);
end;
end;
end;
P.S.: Если конечно ты правельно страницу создал. (вслепую написал код).
[/more]
Цитата:
удаление части игр из одного пакета
Воспользуйся, DeleteFile(Тут твой файл);
P.S.: Если я правильно понял.
Кому не трудно помогите пожалуйста, не могу реализовать запрос второго диска. Если просто FreeArc то распаковывается нормально, если я использую Srep и Precomp не чего не выходит, мне нужно чтобы на втором диске распаковывалось 7z+Pcf+Srp+Arc, может кто поможет, заранее огромное человеческое спасибо.
[more=Читать дальше..]if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'Data8.arc') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data8.arc'), ExpandConstant('app\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data8.srp'),ExpandConstant('{app}\Data8.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\Data8.pcf'), ExpandConstant('{app}\Data8.7z'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\Data8.7z'), ExpandConstant('{app}\'), true, '') then break
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data9.arc'), ExpandConstant('app\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data9.srp'),ExpandConstant('{app}\Data9.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\Data9.pcf'), ExpandConstant('{app}\Data9.7z'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\Data9.z'), ExpandConstant('{app}\'), true, '') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data10.arc'), ExpandConstant('app\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data10.srp'),ExpandConstant('{app}\Data10.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\Data10.pcf'), ExpandConstant('{app}\Data10.7z'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\Data10.7z'), ExpandConstant('{app}\'), true, '') then break;[/more]
[more=Читать дальше..]if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'Data8.arc') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data8.arc'), ExpandConstant('app\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data8.srp'),ExpandConstant('{app}\Data8.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\Data8.pcf'), ExpandConstant('{app}\Data8.7z'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\Data8.7z'), ExpandConstant('{app}\'), true, '') then break
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data9.arc'), ExpandConstant('app\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data9.srp'),ExpandConstant('{app}\Data9.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\Data9.pcf'), ExpandConstant('{app}\Data9.7z'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\Data9.z'), ExpandConstant('{app}\'), true, '') then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data10.arc'), ExpandConstant('app\'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data10.srp'),ExpandConstant('{app}\Data10.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\Data10.pcf'), ExpandConstant('{app}\Data10.7z'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\Data10.7z'), ExpandConstant('{app}\'), true, '') then break;[/more]
Подскажите пожалста а как в inno setup создать custom form уже после установки файлов основной программы?
vintage_1
Спасибо я запутался с CustomPageХ.ID не добавлял ID, вот и не получалось...
В этой цитате:
Цитата:
я имел ввиду вот такую реализацию как в InstallShield:
http://s017.radikal.ru/i434/1111/a6/539ba8e19af4t.jpg
Возможно такое, если да то как?
Спасибо я запутался с CustomPageХ.ID не добавлял ID, вот и не получалось...
В этой цитате:
Цитата:
И можно ли как в IS средствами Inno реализовать удаление или изменение установленных компонентов (удаление части игр из одного пакета \трилогия\ или добавление любой или нескольких из не установленных ранее), если можно пример или где искать ответ. Спасибо.
я имел ввиду вот такую реализацию как в InstallShield:
http://s017.radikal.ru/i434/1111/a6/539ba8e19af4t.jpg
Возможно такое, если да то как?
Всем привет!
Ребят, я страниц 40-50 назад задал вопрос на которого никто не ответил. Вот вопрос.
Цитата:
Заранее спасибо за ответ.
Ребят, я страниц 40-50 назад задал вопрос на которого никто не ответил. Вот вопрос.
Цитата:
Вот стало интересно, возможно ли как то использовать константы, типа {app} и {sd} в других программах, скажем в NSIS? Например, путь установки файлов инсталла Inno по умолчанию является следующим - C:\Program Files\MyProg, тогда {app}= C:\Program Files\MyProg, это мы все знаем, но как из другой проги получить доступ (прочитать) значение {app}? Вообще такое возможно?
Заранее спасибо за ответ.
Цитата:
я имел ввиду вот такую реализацию как в InstallShield:
http://s017.radikal.ru/i434/1111/a6/539ba8e19af4t.jpg
Возможно такое, если да то как?
как-бы инно умеет это изначально. Я столкнулся сейчас с ситуацией, что нужно было от этого как раз избавится. Инно запоминает настройки установки, и применяет их при новой установке - папка установки, выбранные компоненты и задачи. Опорный момент - AppID - при его совпадении, будут применены настройки из предидущей установки, которые записаны в файле uninstall.dat, при этом файл деинсталляции обновляется, без создания нового. Единственное - не выбранные компоненты не удаляются. чтоб установить с новым набором компонентов, нужно запускать файл деинсталлятора перед распаковкой файлов. а по скриншоту - поиск рулез, как говорится - пример есть, где-то на форуме. В частности - в шапке в сборнике скриптов, вроде. Который от Виктора Доброва.
Добавлено:
bugron
Можно немного подробнее, что именно ты хочеш сделать?
Я же сказал, что хочу прочитать значение констант тип {app} и других из другой программы, например NSIS. Просто NSIS-у нужно узнать, куда установливает Inno программу скажем так.
Цитата:
Вообще такое возможно?
А вообще - через костыль - возможно все. Например - получить хендл дирэдита и прочитать из него текст. но это пока не мой уровень.
Цитата:
но это пока не мой уровень
Ну, не скромничай. Я вообще начинающий. Пасиб за ответ, кстати может к Shegorat-у обратиться?
Цитата:
кстати может к Shegorat-у обратиться?
Ага. Или к htuos-у - он точно такое сможет. Есть пример, оперевшись на который, можно получить нужный результат:
[more=код]
Код: [Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
[Files]
Source: CallbackCtrl.dll; Flags: dontcopy
[Code]
type
TTimerProc = procedure (h, msg, idevent, dwTime: Longword);
const
CaptionMsgBox = 'bla-bla-bla';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32.dll stdcall';
function WrapTimerProc(callback:TTimerProc; paramcount:integer):LongWord; external 'wrapcallbackaddr@files:CallbackCtrl.dll stdcall';
function GetDlgItem(hDlg: HWND; nIDDlgItem: Integer): HWND; external 'GetDlgItem@user32.dll stdcall';
function MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; external 'MessageBoxA@user32.dll stdcall';
procedure OnTimer(h, msg, idevent, dwTime:Longword);
var
wnd,btn:HWND;
begin
KillTimer(WizardForm.Handle,1);
wnd:=FindWindowByWindowName(CaptionMsgBox);
if wnd<>0 then begin
btn:=GetDlgItem(wnd,2);
if btn<>0 then SendMessage(btn,$F5,0,0);
end;
end;
procedure ExampleButtonClick(Sender: TObject);
begin
SetTimer(WizardForm.Handle,1,3000,WrapTimerProc(@O nTimer,4));
MessageBox(WizardForm.Handle,'Гаснем через 3 сек.',CaptionMsgBox,0);
KillTimer(WizardForm.Handle,1);
end;
procedure InitializeWizard;
begin
with TButton.Create(WizardForm) do begin
SetBounds(10,310,80,21);
Caption:='Example';
Parent:=WizardForm;
OnClick:=@ExampleButtonClick;
end;
end;
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
Предыдущая тема: поиск
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.