Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
"Error: There is not enough space on the first disk to copy all of the required files."
как исправить эту ошибку? подскажите плз
R.i.m.s.k.y.
18-03-2011, 15:55
Не могу вкурить, как сделать на панели секции [Tasks] элемент так, чтобы галка стояла и нельзя было снять.
Затык - я не могу подобрать названия элементов, для секции компонентов я делаю так
WizardForm.ComponentsList.ItemEnabled [WizardForm.ComponentsList.Items.IndexOf (ExpandConstant ('{cm:abcd}'))] := False;
по названию компонента находится он сам и отключается.
А для секции [Tasks] как сделать искомое (чтобы галка на задаче стояла и не снималась)???
Спасибо!
как исправить эту ошибку? подскажите плз »
Увеличить объём диска или купить новый винчестер... именно об этом говорит ваша ошибка...
Ну а если серьёзно, то нужно просто добавить завершающий знак ';' в самый конец 358 строки.
чтобы галка на задаче стояла и не снималась »
Всё очень просто, нужно просто перехватить нажатие на нужный элемент, т.е.:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma2/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Tasks]
Name: desktopicon; Description: Create a &desktop icon; GroupDescription: Additional icons:
Name: desktopicon\common; Description: For all users; GroupDescription: Additional icons:; Flags: exclusive
Name: desktopicon\user; Description: For the current user only; GroupDescription: Additional icons:; Flags: exclusive unchecked
Name: quicklaunchicon; Description: Create a &Quick Launch icon; GroupDescription: Additional icons:; Flags: unchecked
Name: associate; Description: &Associate files; GroupDescription: Other tasks:
[Code]
procedure TasksListClickCheck(Sender: TObject);
var
Item: Integer;
begin
Item := WizardForm.TasksList.Items.IndexOf('&Associate files');
if WizardForm.TasksList.ItemIndex = Item then
WizardForm.TasksList.Checked[item] := True;
end;
procedure InitializeWizard();
begin
WizardForm.TasksList.OnClickCheck := @TasksListClickCheck;
end;
у меня выдает такую ошибку:" Disk spanning must be enabled in order to create an installation larger than 2100000000 bytes in size."
я так понимаю это означает, что запрещено использовать в инсталляторе файлы больше, чем 2Гб.
как можно это исправить?
Gnom_aka_Lexander
18-03-2011, 21:41
0.07, пользуйся гуглом (http://translate.google.ru/translate_t?client=opera&rls=ru&q=Disk+spanning+must+be+enabled+in+order+to+create+an+installation+larger+than+2100000000+bytes+in+s ize.&oe=utf-8&channel=suggest&um=1&ie=UTF-8&sa=N&hl=ru&tab=wT#), это означает, что нельзя делить инсталл на части больше двух гигабайт. Пропиши в секцию [Setup]
DiskSpanning=true
DiskSliceSize=1566000000
Народ подскажите пожалуйста можно ли сделать так чтобы inno setup создавала только .exe файлы без .bin файлов, ну и конечно же чтобы все файлы включённые были в этом .exe. А то хотел сделать маленький инсталятор, одним файлом, но не знаю как, а несколько файлов не удобно заливать
Выручите плиз!!!!!!!!!!
------------
Хорошая игр - это русифицированная игра!!! (http://play-game-ru.ucoz.ru)
Habetdin
21-03-2011, 11:15
actavir, "поиск по теме рулит http://www.yaplakal.com/html/emoticons/rulez.gif"
[Setup]
DiskSpanning=false
Вопрос следующий:
Как в скрипте вызвать функцию из WinAPI? Функция GetFileVersionInfo.
Знаю, что в Делфях это делается через подключения в uses модуля Windows.
Как это сделать в InnoSetup???
Krinkels
21-03-2011, 12:56
ryabis
А в инно просто вызываешь данную функцию из длл. Примерно так:
function GetFileVersionInfo(lptstrFilename: PAnsiChar; dwHandle, dwLen: DWORD; lpData: Pointer): BOOL; external 'GetFileVersionInfoA@version stdcall delayload'
Krinkels, бьюсь уже весь день... Как мне в Inno объявить функцию VerQueryValue и системную ф-ю AllocMem
function AllocMem( Size: Cardinal ): Poiner;
BOOL WINAPI VerQueryValue(
__in LPCVOID pBlock,
__in LPCTSTR lpSubBlock,
__out LPVOID *lplpBuffer,
__out PUINT puLen
);
C остальным, вроде, разобрался. )))
Krinkels
21-03-2011, 19:17
ryabis
function VerQueryValue(pBlock: Pointer; lpSubBlock: PAnsiChar; var lplpBuffer: Pointer; var puLen: UINT): BOOL; external 'VerQueryValueA@version stdcall delayload'
А первую наверное придется в ручную писать, кусок из дельфи:
function AllocMem(Size: Cardinal): Pointer;
begin
GetMem(Result, Size);
FillChar(Result^, Size, 0);
end;
Как в скрипте вызвать функцию из WinAPI? Функция GetFileVersionInfo.»
Многими системными функциями на данный момент, воспользоваться просто не возможно, т.к. проблема в том, что Pointer'a в Inno Setup нет.
Подскажите как можно сделать http ссылку в левом нижнем углу инстала?
Многими системными функциями на данный момент, воспользоваться просто не возможно, т.к. проблема в том, что Pointer'a в Inno Setup нет. »
когда делал function GetFileVersionInfo(...; lpData: Pointer) заменил Pointer на PСhar и это сработало. :yes:
заменил Pointer на PСhar и это сработало »
Да, я иногда так делаю, но это работает не всегда, т.к. PСhar это указатель на строку, а если нужно что-то другое...
P.S.
Когда что-то сильно надо заказчику, т.е. обязательно нужно сделать какую-то проверку перед установкой его программы, но Inno Setup это не поддерживает, то мне проще написать доп. dll и быть уверенным, что это корректно отработает на всех системах.
Многие вещи можно сделать в Inno, но к сожалению не всё.
подскажите как можно сделать, что бы inno распаковал архивы paq9
Krinkels
22-03-2011, 13:20
0.07
Надеюсь ты не рапак делаешь? А вообще самое простое это либо через секцию [run], либо пихаешь в батник строку(ки) для распаковки и запускаешь его через секцию [run]
архивы paq9
Ух...и сколько это распаковываться будет?
Krinkels
22-03-2011, 14:38
Немножко оффтопика.
duxa
Ух...и сколько это распаковываться будет? »
Неделю, не меньше. А вообще при слове Paq9 сразу вспоминается KopeRip или как то так его звали, чей репак распаковывался 10 часов. Ох и наслушался он тогда в свой адрес лестных слов.
Пардон за :off:
Вопрос был задан 0.07, что бы он понял, что это ни к чему хорошему не приведет. Ну да ладно)
http://forum.oszone.net/images/smilies/new/offtopic.gif
Ммм...помню, starcraft beta с временем установки от 3 до 10 ч при весе 1Гб с хвостиком)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC