Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: ultimo
Дата сообщения: 17.06.2012 16:07
innonewbie
Спасибо, в чем моя ошибка была?
Автор: ultimo
Дата сообщения: 17.06.2012 22:40
Черт возьми, теги правильно пишу, а выходит хренотень...
Автор: Shegorat
Дата сообщения: 18.06.2012 03:52
ultimo 23:40 17-06-2012
Цитата:
Черт возьми, теги правильно пишу, а выходит хренотень...

Здесь нельзя использовать тег [more] нескольких уровней вложенности.

По всем вопросам 1, 2, 3 - внимательно читаем справку к ISDone.
По вопросу номер 4

Код: [Languages]
Name: ru; MessagesFile: Lang\Russian.isl; InfoBeforeFile: "InfoRu.rtf";
Name: en; MessagesFile: Lang\English.isl; InfoBeforeFile: "InfoEn.rtf";
Автор: nik1967
Дата сообщения: 18.06.2012 04:13
del. Опоздал.
Автор: ultimo
Дата сообщения: 18.06.2012 09:11
Shegorat
Может вам покажется глупым вопрос - но что же это за такая мифологическая и мистическая справка по IsDone? Вы спросите "Почему мифологическая?"

Или со мной что-то не так, или я чего-то не понимаю, но даже гугл мне не дал ответа на мой вопрос, я не смог найти эту справку и на этом сайте, и на десятке чужих) Кроме обычной справки от Inno, переведенной на русский язык...

Может я не так искал, может я ослеп...Умоляю, дайте мне ссылку на этот великий справочник, с удовольствием его изучу)
Автор: alex0413
Дата сообщения: 18.06.2012 10:25
ultimo
http://rghost.ru/35686779
Автор: ultimo
Дата сообщения: 18.06.2012 10:33
alex0413
спасибо, товарищ)

У меня проблема, опять...После того, как сделал 1-й прогон, создался файл records.inf, все как надо. При повторной компилляции с раскомментированной строчкой #define records и запуске установки вылетает вот такая ошибка при попытке распаковки архива arc http://imageshack.us/f/20/errormr.jpg

records.inf лежит где надо, проверил.

Собственно, после той ошибки следует другая: http://imageshack.us/f/820/18062012155619.jpg

А за ней последняя: http://imageshack.us/f/232/18062012155626.jpg

Открыв records.inf видим:

131400 1735 1 0
34307 453 2 0
282793 3734 3 0
487580 6438 4 0
36656 484 5 0
27264 360 6 0

Тут нолики в последнем столбце. Может в них и причина? Я пока могу только догадываться. Ищу причину дальше. От помощи по прежнему не отказываюсь)
Автор: ultimo
Дата сообщения: 18.06.2012 18:46
Собственно да, я прав. Моя логика оказалась верной, но тогда вопрос - почему в последнем столбике нулики, и какие значения там должны быть?

Моя логика опять мне подсказывает, что там должно стоять либо время в секундах, либо процентное соотношение, либо что-то еще)

Добавлено:
В общем я невнимателен был. Каюсь) Всем спасибо за помощь, я набрался знаний и опыта)

P.S. Еще не раз обращусь в будущем, наверное))
Автор: ultimo
Дата сообщения: 20.06.2012 18:07
Касательно WelcomeLabel1, FinishedLabel и аналогичных:


Код:
with WelcomeLabel1 do begin
SetBounds(ScaleX(60), ScaleY(150), ScaleX(430), ScaleY(30));
//Alignment := taCenter
Font.Size:= 14;
Font.Color:= 16777215;
//Color:= 16777215;
Transparent:=true
Font.Name:={#FontName};
end;
Автор: nik1967
Дата сообщения: 20.06.2012 19:05
ultimo
1.
Код: SetBounds(ScaleX(0), ScaleY(150), ScaleX(ширина инсталлятора), ScaleY(30));
Alignment := taCenter
Автор: ultimo
Дата сообщения: 20.06.2012 19:11
nik1967
не совсем то, что мне нужно было, но я разобрался в чем была проблема.

А вот с цветом я не разобрался. Странно все это

Добавлено:
nik1967
Нет, текст внутри этой "коробки" не выравнивается по центру...

TAlignment = (taLeftJustify, taRightJustify, taCenter);

Это из справки. Что я не так делаю, не пойму.
Автор: nik1967
Дата сообщения: 20.06.2012 20:41

Цитата:
Нет, текст внутри этой "коробки" не выравнивается по центру...

[more=Видимо я что то делаю не так...]
Код: [Setup]
AppName=Jurassic Park - The Game
AppVerName=Jurassic Park - The Game
DefaultDirName={pf}\123

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[ Code]
var
WelcomeLabel1, WelcomeLabel2: TLabel;

procedure InitializeWizard();
begin
with WizardForm do begin
Color:=clBlue;
OuterNotebook.Hide;
end;
WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(0), ScaleY(70), WizardForm.ClientWidth, ScaleY(65));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=16777215;//clWhite;
Font.Style:=[fsBold];
Caption:= WizardForm.WelcomeLabel1.Caption;
Parent:=WizardForm;
end;
WelcomeLabel2:= TLabel.Create(WizardForm);
with WelcomeLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(0), ScaleY(150), WizardForm.ClientWidth, ScaleY(125));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=16777215;//clWhite;
Caption:= WizardForm.WelcomeLabel2.Caption;
Parent:=WizardForm;
end;
end;
Автор: wetcase
Дата сообщения: 22.06.2012 00:32
Люди добрые, срочно нужна помощь. Вот так выглядит страница с компонентами, очень напрягает то, что отмечено желтым - в обычном виде практически сливается с фоном, нормально видно только после выделения путем клика мыши. Есть идеи, как изменить цвет фиксированного компонента (в смысле того, у которого в свойствах Flags: fixed прописано) на отличный от бледно-серого?
Автор: ultimo
Дата сообщения: 22.06.2012 08:26
wetcase
Есть вариант сменить фон, отличный от clWhite

Добавлено:
А вот у меня параллельный вопрос: можно ли сделать так, чтобы компоненты при выборе не выделялись еще и синей полоской (в моем случае цвета 16750899), а изменялся только Checkbox (checked, unchecked)?
Автор: alex0413
Дата сообщения: 22.06.2012 14:28

Цитата:
2. Если стоит Transparent:=true, тогда текст всегда черный, несмотря на то, что Font.Color:= 16777215; (clWhite)

цвет пишется так Font.Color:=$bgr(blue|green|red). То есть белый будет писаться $ffffff.
Учти, что в фотошопе цвета указываются в rgb. Например если в фотошопе красный будет выглядеть ff0000, то в inno это 0000ff. Возможно ты неправильно указал цвет.
Автор: ultimo
Дата сообщения: 22.06.2012 16:59
alex0413
все правильно указал. Разве clWhite это неправильно? Или clBlack, clRed?


Цитата:
Если стоит Transparent:=true, тогда текст всегда черный

Т.е. если запустить установщик с отключенной функцией прозрачности самой винды (переключиться на простой режим к примеру), то значение Transparent будет игнорироваться, и в установщике будет отображаться как Transparent:=false (как по умолчанию).

Но если при значении Transparent:=false указать Font.Color:= 16777215, то цвет текста будет белым! Ты понимаешь о чем я?
Автор: innonewbie
Дата сообщения: 22.06.2012 18:19
Подскажите, можно ли как-то сделать, чтоб стандартный курсор на стандартном scrollbar'е (полоса прокрутки) изменялся, например, на crhand на странице лицензии или на infobeforepage?
Автор: alex0413
Дата сообщения: 22.06.2012 21:44
ultimo
наверное понял... не решения не вижу
Автор: log1stable
Дата сообщения: 22.06.2012 22:05
У меня проблема с iswin7. Как убрать "рамки цвета WizardForm" вокруг кнопок?

Добавлено:
innonewbie, не-а, средствами Inno Setup нельзя. Попробуй, может, в SkinBuilder'е попровбовать сделать.
Автор: nik1967
Дата сообщения: 23.06.2012 07:12

Цитата:
можно ли сделать так, чтобы компоненты при выборе не выделялись еще и синей полоской

Попробуй

Код: WizardForm.ComponentsList.WantTabs:= True;
Автор: innonewbie
Дата сообщения: 23.06.2012 07:24

Цитата:
не-а, средствами Inno Setup нельзя. Попробуй, может, в SkinBuilder'е попровбовать сделать.
Жаль конечно. Я тут подумал создать свой скроллбар [more=так]var
MyScrollBar: TScrollBar;

procedure MyScroll;
begin
MyScrollBar := TScrollBar.Create(WizardForm);
with MyScrollBar do
begin
Parent := WizardForm.WelcomePage;
Left := ScaleX(480);
Top := ScaleY(40);
Width := ScaleX(18);
Height := ScaleY(18);
Kind := sbVertical;
#ifdef cursor
Cursor:= MyCursor;
#else
Cursor:= crHand;
#endif
end;
end;

procedure InitializeWizard();
begin
MyScroll;
end;[/more], но как заставить его "прокручивать" текст ума не приложу
Автор: ultimo
Дата сообщения: 23.06.2012 08:08
nik1967
спасибо, помогло. А еще сделать так, чтобы при нажатии на само слово выбирался компонент (а то получается выбирать только при нажатии на сам чекбокс или радиобокс)
Автор: log1stable
Дата сообщения: 23.06.2012 20:34
ultimo, в скриптах от ResTools есть папка DescCtrl. В ней пример скрипта.
Автор: ultimo
Дата сообщения: 23.06.2012 20:54
log1stable
Спасибо, почитаю

Добавлено:
log1stable
шикарно, гуляем))
Автор: ultimo
Дата сообщения: 24.06.2012 12:10
Еще не маловажный вопрос. Реестр - надо, чтобы установщик нашел запись в реестре (пусть установки программы/игры) и автоматически выдал на странице выбора директории нужную папку (заместо стандартного DefaultDirName). Если вы поняли, о чем я)
Автор: nik1967
Дата сообщения: 24.06.2012 12:45
ultimo
[more=Путь установки из реестра]
Код: [Setup]
AppName=GetDeviceInfo
AppVerName=GetDeviceInfo
DefaultDirName={code:GetInstallDir}

[ Code]
Function GetInstallDir( AppID: String ): String; var dir: String;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Company\ProgramName', 'InstallLocation', dir);
Result:= dir;
end;

function InitializeSetup(): Boolean;
begin
Result:= True;
if not RegKeyExists(HKLM, 'SOFTWARE\Company\ProgramName') then begin
MsgBox('Программа не найдена!', mberror, mb_ok);
Result:=False;
exit;
end;
end;
Автор: ultimo
Дата сообщения: 24.06.2012 12:49
nik1967
Шикарно, спасибо)
Автор: crasylaser
Дата сообщения: 25.06.2012 10:08
Парни, большая просьба.
Путь установки: "C:\Program Files\Games\Selena6000

Нужно занести в реестр этот путь, но в таком виде:
[HKEY_LOCAL_MACHINE\SOFTWARE\BaseGame\FileSystem]
"DataPath"="e:C:\\Program Files\\Games\\SELENA~1/>;"

То есть поменять название конечной папки. Выручайте!
Автор: vint56
Дата сообщения: 25.06.2012 10:27
crasylaser
[Registry]
Root: HKLM; SubKey: SOFTWARE\BaseGame\FileSystem; ValueType: string; ValueName: DataPath; ValueData: {app}; Flags: uninsdeletevalue uninsdeletekeyifempty
Автор: Robby
Дата сообщения: 25.06.2012 11:25
Нужна помощь, это мой первый скрипт исталлятора и я не совсем еще разобрался с ньюансами
Сам [more=скрипт]

Код:
; Script устновки Webuilder 2011

#define MyAppName "Webuilder 2011"
#define MyAppVersion "v11.3"
#define MyAppPublisher "Karlis Blumentals"
#define MyAppURL "http://www.blumentals.net"
#define MyAppExeName "webuild.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{1B357ABE-ED3B-4698-A46A-87217EE51776}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
OutputDir=Output
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
SetupIconFile=icons\webuild.ico
RestartIfNeededByRun=False

; языки
[Languages]

Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"

; задачи
[Tasks]
; создание ярлыков
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; OnlyBelowVersion: 0,6.1
; устновка программой просмотра HTML Webuilder
Name: "viewsource"; Description: "Set as Internet Explorer source viewer"; GroupDescription: "Configuration options:"

;Файлы
[Files]
; Основные компоненты
Source: "{app}\webuild.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{app}\*"; DestDir: "{app}"; Flags: ignoreversion createallsubdirs recursesubdirs uninsnosharedfileprompt; Components: main
Source: "{commonappdata}\*"; DestDir: "{commonappdata}"; Flags: ignoreversion onlyifdoesntexist createallsubdirs recursesubdirs uninsnosharedfileprompt; Components: main
Source: "{userappdata}\*"; DestDir: "{userappdata}"; Flags: ignoreversion onlyifdoesntexist createallsubdirs recursesubdirs uninsnosharedfileprompt; Components: main
; Дополнительные компоненты
Source: "doc\css.chm"; DestDir: "{app}\help"; Flags: onlyifdoesntexist; Components: css
Source: "doc\htmltags.chm"; DestDir: "{app}\help"; Flags: onlyifdoesntexist; Components: html
Source: "doc\php_manual_ru.chm"; DestDir: "{app}\help"; Flags: onlyifdoesntexist; Components: php
; иконка деинсталлятора
Source: "icons\unins000.ico"; DestDir: "{app}"; Flags: ignoreversion; Components: main


; Иконки
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; IconFilename: "{app}\unins000.ico"
Name: "{group}\HTML 4.0 Reference"; Filename: "{app}\help\htmlref.chm"
Name: "{group}\CSS Reference"; Filename: "{app}\help\cssref.chm"
Name: "{group}\Справочники\Справочник CSS"; Filename: "{app}\help\css.chm"; Components: css
Name: "{group}\Справочники\Справочник по HTML"; Filename: "{app}\help\htmltags.chm"; Components: html
Name: "{group}\Справочники\Руководство по PHP"; Filename: "{app}\help\php_manual_ru.chm"; Components: php
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

; Запуск программ после установки
[Run]
Filename: "{app}\{#MyAppExeName}"; Flags: nowait postinstall skipifnotsilent skipifsilent; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"

; Реестр
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\webuild.exe"; ValueType: String; ValueData: "{app}\webuild.exe"; MinVersion: 4.0.950,5.0.2195; Flags: noerror
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\webuild.exe"; ValueName: "Path"; ValueType: String; ValueData: "{app}"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletekey noerror
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name"; ValueType: String; ValueData: "webuild.exe"; Tasks: "viewsource"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletekey noerror
Root: HKCR; Subkey: "htmlfile\shell\WeBuilder\command"; ValueType: String; ValueData: """{app}\webuild.exe"" ""%1"""; MinVersion: 4.0.950,5.0.2195; Flags: noerror
Root: HKCR; Subkey: "htmlfile\shell\WeBuilder"; ValueType: String; ValueData: "Edit with WeBuilder"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletekey noerror
Root: HKCR; Subkey: ".htm\OpenWithList\WeBuilder\shell\edit\command"; ValueType: String; ValueData: "{app}\webuild.exe %1"; MinVersion: 4.0.950,5.0.2195; Flags: noerror
Root: HKCR; Subkey: ".htm\OpenWithList\WeBuilder"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletekey noerror
Root: HKCR; Subkey: "Applications\webuild.exe\shell\edit\command"; ValueType: String; ValueData: """{app}\webuild.exe"" ""%1"""; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletekey noerror
Root: HKCU; Subkey: "SOFTWARE\Karlis Blumentals\WeBuilder\7.0"; MinVersion: 4.0.950,5.0.2195; Flags: noerror
Root: HKCU; Subkey: "SOFTWARE\Karlis Blumentals\WeBuilder\7.0\"; ValueName: "Path"; ValueType: String; ValueData: "{app}"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletevalue noerror
Root: HKCU; Subkey: "SOFTWARE\Karlis Blumentals\WeBuilder\7.0\General"; ValueName: "ShowWelcome"; ValueType: Dword; ValueData: "$1"; MinVersion: 4.0.950,5.0.2195; Flags: noerror
Root: HKCR; Subkey: "WeBuilder.Document"; ValueType: String; ValueData: "WeBuilder Document"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletekey noerror
Root: HKCR; Subkey: "WeBuilder.Document\Shell\Open\Command"; ValueType: String; ValueData: """{app}\webuild.exe"" ""%1"""; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletevalue noerror
Root: HKCR; Subkey: "WeBuilder.Document\DefaultIcon"; ValueType: String; ValueData: "{app}\icons.dll,0"; MinVersion: 4.0.950,5.0.2195; Flags: uninsdeletevalue noerror

; Типы установки
[Types]
Name: "lite"; Description: "Обычная установка"
Name: "full"; Description: "Полная установка"
Name: "custom"; Description: "Выборочная установка"; Flags: iscustom

; Выбор компонентов для выборочной установки
[Components]
; Основные файлы
Name: "main"; Description: "Основные файлы"; Types: full custom lite; Flags: fixed
; Дополнительные файлы (выборочная (полная) установка)
Name: "css"; Description: "Справочник по CSS"; Types: custom full
Name: "html"; Description: "Справочник по HTML"; Types: custom full
Name: "php"; Description: "Справочник по PHP"; Types: custom full

; Создание папок
[Dirs]


; Удаление после деинсталляции
[UninstallDelete]
Type: dirifempty; Name: "{app}"
Type: filesandordirs; Name: "{commonappdata}\Blumentals"
Type: filesandordirs; Name: "{userappdata}\Blumentals"

; Скрипты Паскаля
[Code ]
// проверка наличия установленной программы и предложение ее удалить
function InitializeSetup(): Boolean;
var
ResultCode: Integer;
Path: String;
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\webuild.exe','Path', Path)
then
begin
if MsgBox('Программа уже установлена: '+Path+''#13'Удалить её перед установкой новой версии?'#13#13'ДА - деинсталлировать '#13'Нет - продолжить установку', mbError, MB_YESNO)= IDYES
then
begin
Exec(Path+'\unins000.exe','/SILENT', '', SW_SHOW,ewWaitUntilTerminated, ResultCode)
Result:=True;
end
else
// Result:=False; отмена установки
Result:=True;
end
else
Result:=True;
end;

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.