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

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

Автор: Phil
Дата сообщения: 04.03.2006 02:55
блин, чегойто не совсем получается в инсталлере естановится без лишних папок по пути %SystemRoot%\system32
нужно просто скопировать туда 3 файла
если указываю в скрипте %SystemRoot%\system32 то копирует в трам тарары, но не по этому пути, может как то по другому его нужно прописать?
Автор: JKSerGEAnt
Дата сообщения: 04.03.2006 08:40
Phil

Цитата:
%SystemRoot%

Вообще-то полезно читать help иногда... Вы же не косынку запукаете. %SystemRoot%\system32 в inno обозначается как {syswow64} или {sys}, только в последнем случае в с установленной 64-bit системой копироваться ничего не будет, а в первом - во всех случаях.
Автор: Kindly
Дата сообщения: 04.03.2006 08:59
PENDEJO, давай по простому. Есть инсталлятор, который будет копировать определенные файлы в разные директории, так? Если так, то почему бы не использовать механизм тех же компонентов. Например, файлы программы копируются в одну папку (1-ый объект), а копирование компонентов можно указать в другую папку.
Автор: PENDEJO
Дата сообщения: 06.03.2006 07:40
Kindly

Спасибо за отклик. Ещё бы узнать, как это сделать! Инсталлятор у меня уже собран. Файлы копируются на винт, замещая уже имеющиеся. Потом Заказчик потребовал, чтобы пользователь на первом объекте мог взвести "свою" галочку (выбрав одну из двух), нужные файлы бы скопировались на его машину. Пользователь на втором объекте так же смог взвести "свою" галочку, и файлы из другой директории скопировались на его машину. На этом работа инсталлятора заканчивается.


Автор: oldruss
Дата сообщения: 07.03.2006 22:26
Подскажите, пожалуйста, как оформить в коде переименование файлов функцией RenameFile. Например, файл по адресу {sys}\drivers\file_1.sys необходимо переименовать в file_2.sys... и что писать при этом в Var?

Спрашивал уже по поводу переименования ключа реестра:
Kindly
Цитата:
зачем переименовывать, если можно записать новый ключ - какая разница?
выходит, что невозможно это сделать в InnoSetup? Если записывать новый ключ, то придётся добавлять все значения в нём заново - мне проще его переименовать...

Вообще вот такая задача: в случае использования определённой версии Windows инсталятор переименовывает два файла и один ключ реестра (всё это после установки всех файлов и значений реестра программы). Помогите, please, бьюсь над этим целый месяц ... перечитал все справки и руководства. Заранее спасибо.
Автор: dadasads
Дата сообщения: 08.03.2006 07:17
Товарищи, подскажите.
Как сделать так, чтобы в ходе инсталляции фон менялся каждые 15 секунд, допустим?
И ещё, как сделать, чтобы установка скрывала нужний тулбар винды, как бы во весь экран?



Добавлено:
и ещё, как сдлать чтобы компонент выбран был по-умолчанию? а то в поле выбора компонента по-умолчанию вообще пусто..
Автор: JbBaD
Дата сообщения: 08.03.2006 13:30
А возможно сделать внешний вид как в последних InstallShield (инсталяция фотошопа например)?
Автор: namchik
Дата сообщения: 19.03.2006 20:21
ScriptMaker обновился

JbBaD
Не знаю насчет Inno, но в NSIS это можно сделать точно (Ultra Modern UI)
Автор: JKSerGEAnt
Дата сообщения: 20.03.2006 16:43
JbBaD

Цитата:
А возможно сделать внешний вид как в последних InstallShield

Можно, но для этого нужно очень серьезно разбираться в Паскале. Да и долго это.
Автор: Elfant
Дата сообщения: 20.03.2006 21:53
JKSerGEAnt
Не подскажишь, как ты делаешь ссылку на свой сайит внизу окна (Официальный сайт: _http://zoneofgames.ru/), а тоя раньше в доках вроде видел, а теперь несколько раз пересмотрел, не найти?

З.Ы. Жаль что сайт пришлось переделывать, много полезного было... =)
Автор: oldruss
Дата сообщения: 20.03.2006 23:16
Elfant
Цитата:
Ребят, я что в список игнора попал?
Теперь я сюды, кажись, попал...
Автор: SSchumi
Дата сообщения: 17.04.2006 14:06
Можно ли сделать, чтобы AppName и надпись, которая пишется вверхней части MainForm не совпадали? Чтобы в инсталяторе писалась надпись из AppName, и эта надпись была другой.
Автор: AlexeyEg
Дата сообщения: 19.04.2006 08:59
Не подскажут ли добрые люди, как от наличия той или иной ветки / ключа в реестре устанавливать тот или иной файл?

Требуется Setup для файлов Access, но версия Access у клиента может быть разной. Вот и требуется проверить версию у клиента и поставить ему базу в соответствующем формате.

Всем спаибо.
Автор: Kindly
Дата сообщения: 20.04.2006 09:49
SSchumi - самый простой способ - изменить перевод в языковом файле для инсталлятора.
AlexeyEg - а руководство в шапке для кого?

Автор: Anti_MalpA
Дата сообщения: 22.04.2006 08:24
А руссификатор есть к 5 ветке это программульки?
Автор: SamLab
Дата сообщения: 22.04.2006 20:53
Anti_MalpA
Давно известно что есть _http://samlab.ws/ruz/innosetup516_kindly.rar
Автор: forever
Дата сообщения: 02.05.2006 13:15
Подскажите плз, поддерживается ли в секции [INI] UTF-8 для параметра String?
Автор: boss911
Дата сообщения: 10.05.2006 03:39
Всем привет!! Столкнулся с проблемами!! Значетса имеютса такие значение в моем скрипте (*.iss):


Код: [Run]
Filename: File.cmd; WorkingDir {app}; Flags: waituntilidle runhidden
Автор: feandy
Дата сообщения: 10.05.2006 06:55
boss911

Цитата:
[Run]
Filename: File.cmd; WorkingDir {app}; Flags: waituntilidle runhidden

попробуй вместо waituntilidle написать waituntilterminated
или так
[Code]
procedure DeinitializeSetup;
begin
Exec('File.cmd', '', WorkingDir, SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
или внутри другой процедуре в зависимости от ситуации
по любому придется писать паскаль код

Добавлено:
по второй части тебе наверное придется опять же в секции кода руками прописать старое значение, например

procedure DeinitializeUninstall;
begin
RegWriteStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager', PendingFileRenameOperations,'\??\{localappdata}\File.dll');
end;
Автор: SSchumi
Дата сообщения: 10.05.2006 15:55
Определяю в начале:
#define AppVer "1.2"
используя где только можно, как {#AppVer}, но не знаю как эту строку использовать в секции кода.
Можно, конечно, через функцию, а потом через {code:AppVer}.
Но хочелось через define
Автор: SyCraft
Дата сообщения: 10.05.2006 15:58
Доброго времени суток
Вопрос вот созерел:
Как можно зделать так что бы инсталер заносил в INI файл сложные "трех этажные значения"
напрмер нужно в файл def.ini, в секцию BoX задать параметру Item, "555555" дать значение =Copy image address & Execute Program,"GetFileSize.exe","/url:%c"

Подскажите пожалуйста!
Автор: boss911
Дата сообщения: 10.05.2006 22:17
feandy

Спасибо, флаг waituntilterminated решил мою проблему с запуском батника! Теперь, что касаетса паскаля, тут знакомый чуть помог доработать скрипт, так как я в паскале полный "0"

Код:
[Соdе]
procedure DeinitializeUninstall;
begin
RegWriteMultiStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager','PendingFileRenameOperations','\??\{localappdata}\File.dll');
end;
Автор: Zabo4ka
Дата сообщения: 10.05.2006 23:47
Подскажите чайнику,неразбирающемуся в code!
При установке можно выбирать папку,куда устанавливать прогу.
При установке нужно внести в реестр данные из .reg файла.
Проблема в том,что в .reg файле содержится инфа,а именно-директория установки и диск.с которго проводилась установка.Мне нужно заставить Inno Setup изменять эти пути в рег файле перед импортом реестр таким образом,чтобы они соответствовали тем,что я выбираю в инсталляторе перед установкой.
Автор: feandy
Дата сообщения: 11.05.2006 07:19
boss911
для подстановки значения переменной и записи пустых строк попробуй так
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager"; ValueType: multisz; ValueName: "PendingFileRenameOperations"; ValueData: "\??\"+ExpandConstant('{localappdata}')+"\File.dll"+#0+#0;
Автор: SyCraft
Дата сообщения: 11.05.2006 08:57
feandy
Как можно зделать так что бы инсталер заносил в INI файл сложные "трех этажные значения"
напрмер нужно в файл def.ini, в секцию BoX задать параметру Item, "555555" дать значение =Copy image address & Execute Program,"GetFileSize.exe","/url:%c"
Автор: Zabo4ka
Дата сообщения: 11.05.2006 16:23
Сегодня перечитал свой пост ещё раз и понял,что уж очень по-дурацки написал...
Вобщем,до начала копирования файлов пользователь может изменить папку,куда будет инсталлировать прогу.Далее,при установке,нужно сделать запись в реестре,где указать папку,куда установлена программулина.Но я не знаю,как сделать создаваемую запись в реестре зависимой от выбораустановочной директории...
Автор: feandy
Дата сообщения: 11.05.2006 22:07
Zabo4ka
Аналогично написанному мной выше
только переменная другая а именно ExpandConstant('{app}') укажет на ту папку, в которую установлена прога
Автор: Zabo4ka
Дата сообщения: 12.05.2006 07:52
feandy
Попробовал-получается пустой ключ
Нельзя-ли чуть по-подробнее, я видать что-то пропустил...
Автор: chum2000
Дата сообщения: 12.05.2006 09:22
есть такая секция
[Registry]
почитай о ней в помощи

вот мой кусочек где ValueData у меня и пишется выбранный каталог. Функцию ExpandConstant использовать в этом случае НЕ надо

Root: HKLM; Subkey: SOFTWARE\Oviont\Buh; ValueType: string; ValueName: DIRECTORY; ValueData: {app}; Components: ProgFiles
Автор: Zabo4ka
Дата сообщения: 12.05.2006 19:41
chum2000
Спасибо большое,всё работает!
Только,мне,как оказалось,нужно таким-же образом ещё и букву дисковода (с которого проводилась установка) таким-же образом прописать.Это как сделать?Я читал ридми про реестр,но там всё в общем описано,а я ж чайник...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: ICONS


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