Перейти к содержимому
Zone of Games Forum
SergeiSP

Inno Setup / NSIS / ... - создание инсталляторов

Рекомендованные сообщения

Здравствуйте. Подскажите, какой прогой для создания инталяторов-руссификаторов вы используете для создания руссификаторов. И надо, чтобы программа еще умела по максимуму сжимать файлы, ну как у вас в инсталяторах.

Поделиться сообщением


Ссылка на сообщение

можно ли после установки инсталятора поместить на раб стол иконку не от exe'шника, а с другой?

и ещё вопрос, можно ли содать ярлык к ехе шнику который не входит в папку инсталятора, а находится на жестком,

короче я сделал инсталятор - аддон к half-life- opposing force, там отдельная папка(без ехе шника),

которая устанавливается в папку с hl на жёстком(с общим ехе шником),

можно ли создать ярлык на раб стол от ехе шника в папке hl, чтобы запустить этот аддон(надеюсь понятно:))

Поделиться сообщением


Ссылка на сообщение

А может ли кто нить выложить скрипт инсталятора одного из русиков с ZoG'а (Например Return To Castle Wolfenstain)? А то для меня здешние инсталляторы - идеал качества, а по примерам всегда легче десать, чем по тексту который в мануале! Если можно, то пожалуйста выложите!

Поделиться сообщением


Ссылка на сообщение

Пожалте:

 

Spoiler

 

[setup]AppName=StarCraft rusAppVerName=StarCraft rus 1.3 final miniAppPublisherURL=http://www.zoneofgames.ruAppUpdatesURL=http://www.zoneofgames.ruDefaultDirName={pf}\StarCraftDefaultGroupName=StarCraftOutputDir=D:\setup origOutputBaseFilename=Setup_StarCraft_rus_1.3_miniCompression=lzma/ultraSolidCompression=yesUninstallFilesDir={app}LicenseFile=D:\star prog\Текстовый документ (2).txtInfoBeforeFile=D:\star prog\Документ WordPad mini.rtfWizardImageFile=D:\programms\Inno Setup 5\StarCraft.bmp[Tasks]Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"[Files]Source: "D:\setup orig mini\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "D:\setup orig mini\ru_StarCraft_1.3_mini.exe"; DestDir: "{app}"; Flags: ignoreversion;ВНИМАНИЕ: Не используйте "Flags: ignoreversion" для общих системных файлов[icons]Name: "{group}\{cm:UninstallProgram,StarCraft rus}"; Filename: "{uninstallexe}"Name: "{userdesktop}\StarCraft rus"; Filename: "{app}\ru_StarCraft_1.3_mini.exe"; Tasks: desktopicon[Messages]BeveledLabel=Frezzze © 2007 InnoSetup © 1997-2007[Run]Filename: "{app}\ru_StarCraft_1.3_mini.exe"; Description: "{cm:LaunchProgram,StarCraft rus}"; Flags: nowait postinstall skipifsilent

 

Самый простенький скрипт.

Поделиться сообщением


Ссылка на сообщение
Пожалте:

 

Spoiler

 

[setup]AppName=StarCraft rusAppVerName=StarCraft rus 1.3 final miniAppPublisherURL=http://www.zoneofgames.ruAppUpdatesURL=http://www.zoneofgames.ruDefaultDirName={pf}\StarCraftDefaultGroupName=StarCraftOutputDir=D:\setup origOutputBaseFilename=Setup_StarCraft_rus_1.3_miniCompression=lzma/ultraSolidCompression=yesUninstallFilesDir={app}LicenseFile=D:\star prog\Текстовый документ (2).txtInfoBeforeFile=D:\star prog\Документ WordPad mini.rtfWizardImageFile=D:\programms\Inno Setup 5\StarCraft.bmp[Tasks]Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"[Files]Source: "D:\setup orig mini\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "D:\setup orig mini\ru_StarCraft_1.3_mini.exe"; DestDir: "{app}"; Flags: ignoreversion;ВНИМАНИЕ: Не используйте "Flags: ignoreversion" для общих системных файлов[icons]Name: "{group}\{cm:UninstallProgram,StarCraft rus}"; Filename: "{uninstallexe}"Name: "{userdesktop}\StarCraft rus"; Filename: "{app}\ru_StarCraft_1.3_mini.exe"; Tasks: desktopicon[Messages]BeveledLabel=Frezzze © 2007 InnoSetup © 1997-2007[Run]Filename: "{app}\ru_StarCraft_1.3_mini.exe"; Description: "{cm:LaunchProgram,StarCraft rus}"; Flags: nowait postinstall skipifsilent

 

Самый простенький скрипт.

Спасибо! Стало легче! Вот ещё вопрос, никак не могу в мануале найти строчку, которая будет отвечать за Бэкап заменяемых файлов! Киньте скрипт пожалуйста!

Поделиться сообщением


Ссылка на сообщение

и, если можно, команду для импорта ветки реестра. Мне кажется я что-то неверно делаю.

Поделиться сообщением


Ссылка на сообщение

Phan1om

[Run]

Filename: {sys}\regedit.exe; Parameters: -s {app}\file.reg; WorkingDir: {sys}; StatusMsg: "Внесение изменений в реестр...";

Поделиться сообщением


Ссылка на сообщение

а у меня такой вопрос,как у нас в инно делать выбор,чего ставить,или допустим выбор версии,там 1.0 или 1.1? И второй,как ярлык создавать на рабочем столе?

Поделиться сообщением


Ссылка на сообщение

de}{ter

Выбор компонентов:

 

Spoiler

 

[Components]Name: "Основные файлы"; Description: "Основные файлы"; Types: full compact custom; Flags: fixedName: "дополнение"; Description: "дополнение для ..."; Types: custom[Files]Source: "C:\1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\1\дополнение\*"; DestDir: "{app}\1\дополнение\"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: дополнение

 

Ярлык на рабочем столе:

 

Spoiler

 

[Tasks]Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone[icons]Name: "{userdesktop}\Имя ярлыка"; Filename: "{app}\1\запуск.exe"; WorkingDir: "{app}\1\"; Tasks: desktopicon

 

Поделиться сообщением


Ссылка на сообщение

вопрос на засыпку,очередной....как забацать всплывающую перед установкой картинку?

Изменено пользователем de}{ter

Поделиться сообщением


Ссылка на сообщение

Пожскажите плиз кто-нить, как сделать так, чтобы резервные копии делались! А то сделал мод для игры, а он заменяет ориг. файлы, а хочется чтоб при удалении мода игра принимала первозданный вид!

Поделиться сообщением


Ссылка на сообщение

так,со сплешем разобрался...Codename Al3x :

 

Spoiler

[setup]

AppName=My_Program_Update

AppVerName=My_Program_Update version 1.5

DisableProgramGroupPage=yes

UninstallFilesDir={app}\Update_Uninstall

[Files]

Components: eng; Source: C:\embedded\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs;

Components: rus; Source: C:\embedded\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; BeforeInstall: CreateBackup

[Components]

Name: "rus"; Description: "Russian version"; Types: rus

Name: "eng"; Description: "English version"; Types: eng

[Types]

Name: "rus"; Description: "Create Backup *.bak-files (autorestoring after update uninstalling)";

Name: "eng"; Description: "Don't create backup (uninstaller not create)";


//Создание бэкапа

procedure CreateBackup;

var

srcFile, destFile: string;

begin

srcFile:= ExpandConstant(CurrentFileName);

destFile:= srcFile + '.bak';

DeleteFile(destFile);

RenameFile(srcFile, destFile);

end;

//Процедура восстановления бэкапа

procedure RestoreBackup(backupDir: string);

var

srcFile, destFile: string;

FSR, DSR: TFindRec;

FindResult: Boolean;

APath: string;

begin

APath := AddBackslash(backupDir);

FindResult := FindFirst(APath + '*.bak', FSR);

try

while FindResult do

begin

if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then

begin

srcFile:= APath + FSR.Name;

destFile:= Copy(srcFile, 0, Length(srcFile)-4);

DeleteFile(destFile);

RenameFile(srcFile, destFile);

end;

FindResult := FindNext(FSR);

end;

FindResult := FindFirst(APath + '*.*', DSR);

while FindResult do

begin

if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and

not ((DSR.Name = '.') or (DSR.Name = '..')) then

RestoreBackup(APath + DSR.Name);

FindResult := FindNext(DSR);

end;

finally

FindClose(FSR);

FindClose(DSR);

end;

end;

//Восстанавливаем резервируемые файлы после удаления

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);

begin

if CurUninstallStep = usPostUninstall then

begin

RestoreBackup(ExpandConstant('{app}'))

end;

end;

//Удаляем папку с деинсталлятором обновления и соответствующей записью реестра в зависимости от выбора установки

procedure CurStepChanged(CurStep: TSetupStep);

var

s3:string;

begin

If CurStep=ssPostInstall

then

begin

s3:=ExpandConstant('{app}')+'\Backup';

If not DirExists(s3)

then

begin

DelTree(ExpandConstant('{app}')+'\Update_Uninstall', True, True, True);

begin

//В названии ключа должно быть указано имя данной программы обновления

RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Program_Update_is1')

end;

end;

end;

end;

Изменено пользователем de}{ter

Поделиться сообщением


Ссылка на сообщение

У меня возникла следующая проблема : В игре Bus Driver данные читаются из игрового архива base.scs, какой являет собой простой несжатый ZIP архив, просто расширение у него *.scs. Недавно создал перевод для этой игры, и хотел бы научить Inno Setup распаковать этот base.scs, заменить соответствующие файлы с текстом и шрифтами, и заархивировать назад. Может кто знает, как такое сделать? Благодарю.

P.S. Если нужно, могу указать список файлов.

Поделиться сообщением


Ссылка на сообщение

Подскажите пожалуйста, как правильно изменять надписи в стартовом окне инсталлятора:image.JPG

И еще хотелось бы узнать, как создать инсталлятор, чтобы он не прописовался в реестре и чтобы не содержал в себе файл unins000.exe?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • Я про это не знал, как и Мирослав с Мертисадоном. Наверняка, даже сам 3dfx не знает о таких тонкостях, про Сержанта я уж молчу ))  Так что сам понимаешь, теперь со всеми вопросами по технической части(кодировка, программирование, взломы, и тп.) к тебе.  У меня были подозрения, что ты очень силён во всём этом “хакерстве”, и вот они подтвердились. Теперь не отвертишься.  
    • Общался, но у них есть люди (переводчики) ещё по прошлым играм, с которыми они сотрудничают. Так что мимо.
    • А не пробовали связаться с разработчиком по-поводу интеграции вашего в качестве официального? Может быть выше и писали что-нибудь об этом, но я не читал
    • спасибо вам Господин Сильвер, нет не так. О великий и ужасный маг и волшебник Сильверус Снейп мой вам поклон за колдунство невиданное мной до сих пор.
    • Отличный актёр, наконец-то за него поиграть дадут.
    • У меня есть перевод для TemplePlus. Основан на версии мода 1.0.75 за 2019 год. Сам перевод более свежий.
      Перевод выполнен на около 80 процентов. Кто возьмётся адаптировать для актуальной версии?
    • он пишет, что заблокировали из-за”выдумок ркн”. А в других странах тоже выдумки ркн, или все же с игрой что-то не так?)
    • То вне Японии народа, который это потребит отнюдь не меньше, а то и больше. Но не суть. Роблокс — это не игра для внутреннего потребления, она выпущена в расчёте на мировой рынок. С вами был ваш капитан очевидность. А ты вообще понимаешь, что пытаешься перевести тему? а Ты вообще понимаешь, что закидывая меня вопросами, ты не сможешь этого сделать? Утверждаю, что это возможно и куда проще, чем ты думаешь. Также утверждаю, что это активно и повсеместно применяется в том или ином виде. А как определить под каким флагом сидит человек — задача простейшая, пусть и обойти её также несложно, впрочем тут обычно нет цели вот прям наверняка-наверняка убедиться, что человек именно сидит под своим флагом, а не под чужим. Ты плохо знаешь ркн. Если разблочили, то пришли к соглашению. Иначе бы он как минимум просто оставался бы в списках. Это токсичность в явном виде, нецелевое использование функционала игры, а за токсичность банят. Мог бы попытаться найти новости-примеры, но мне влом. Есть конкретные правила, жаловаться на их нарушение — это нормально. А культура, когда люди терпят токсичное окружение, но не жалуются на нарушение правил, когда чётко прописано, что токсичное поведение их нарушает — это ненормально. Пвп — это явная игровая механика. Когда человек идёт на пвп, то знает, на что идёт. И даже там можно вести себя по-человечески, а можно по-свински, нарушая правила (в частности, гриферы, крысы и тому подобное). Да, в пвп тоже есть прописанные правила, которые запрещено нарушать, и это в явном виде прописывается на серверах, по крайней мере если за их соблюдениями хоть кто-то следит. Ситуации, когда кого-то просто прибили в пвп и облутали — это одно, это игровая механика, но когда хай ворвался на нуб локу и издевается над лов лвлами — это другое, это нарушение, когда на респе убивает из раза в раз — это тоже нарушение (обычно), когда над трупом (и сидящим по ту сторону человеком) издеваются, то зависит от администрации (и специфики самой игры, т.к. ну всякие игры бывают сами по себе), но обычно это тоже нарушение.
    • Уот эта да

      P.S. Я что зря который год кумыс пью?
    • Я думал это общеизвестная фича.
  • Изменения статусов

    • АлинаQT

      Играю в СТИМовскую версию. Столкнулась с непроходимым багом: при входе в Клуб капитанов игра вылетает на Рабочий стол и закрывается. Собрала 6 ингредиентов из 7, нужен мел. Но не могу войти. Пробовала войти на английской версии без русификатора, все равно вылетает и закрывается. Есть решение для этой проблемы? Буду рада любой помощи.
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

       
      Добавлена ONLINE версия. Проверено в steam — достижения, поддержка по сети.
      · 0 ответов
    • fevralski  »  SerGEAnt

      привет, есть что по хмурому?
      · 0 ответов
    • Netulogina  »  SerGEAnt

      Здравствуйте.
      Назрел такой вопрос. Существует ли архив/резервная копия переводов которые хранятся на данном сайте?
      · 5 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Добавились версии для Linux и MAC OS
       
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×