Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 3]

Ветеран


Сообщения: 1133
Благодарности: 581


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


Цитата MrLOLs:
Можно объединить begin MsgBox ...... end
а также условия Pos(Uppercase(ExpandConstant('{...}')) »
Можно, у меня както так вышло:
читать дальше »
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
Function cm(Message: String): String; Begin Result:= ExpandConstant('{cm:'+ Message +'}') End;

function NextButtonClick(CurPageID: Integer): Boolean;
var i: Integer; S:String; One,Two: Boolean;

Begin Result:=True; if CurPageID = wpSelectDir then begin

for i:= 1 to Length(WizardForm.DirEdit.Text) do if (WizardForm.DirEdit.Text[i] > #122)
then begin One:=True;S:='Cyrillic'; end;

if (Pos(Uppercase(ExpandConstant('{pf}')), Uppercase(ExpandConstant('{app}'))) > 0) then Two:=True;
if (Pos(Uppercase(ExpandConstant('{win}')),Uppercase(ExpandConstant('{app}'))) > 0) then Two:=True;

if Two then S:='SysDirSelect'; if One or Two then begin
MsgBox(S, mbError, mb_Ok); Result:=False; Exit;end; end; End;

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 13-07-2011 в 21:42.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:26, 13-07-2011 | #2341



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для MrLOLs

Новый участник


Сообщения: 12
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Лександер, Спасибо!

Код запрещает устанавливать программу в папку Windows или Program Files, а также запрещает использовать кириллицу в пути установки.

Последний раз редактировалось MrLOLs, 13-07-2011 в 23:25.


Отправлено: 22:25, 13-07-2011 | #2342


Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата MrLOLs:
Вот конечный вариант »
Для чего вы используете Function cm(Message: String): String;, на мой взгляд бесполезная функция. Так же в цикле for...to...do не хватает Break;, т.е. для чего перебирать дальше, если мы уже нашли...
Как говорят, оптимизации кода нет предела, но всё же я бы записал так:
Пример

Код: Выделить весь код
function NextButtonClick(CurPageID: Integer): Boolean;
var
  i: Integer;
  path: string;
begin
  if CurPageID = wpSelectDir then
    begin
      path := Uppercase(WizardForm.DirEdit.Text);
      if (Pos(Uppercase(ExpandConstant('{pf}')), path) > 0)
        or (Pos(Uppercase(ExpandConstant('{win}')), path) > 0) then
        begin
           MsgBox(ExpandConstant('{cm:SysDirSelect}'), mbError, MB_OK);
           Exit;
        end;
      for i := 1 to Length(path) do
        if path[i] > #122 then
          begin
            MsgBox(ExpandConstant('{cm:Cyrillic}'), mbError, MB_OK);
            Exit;
          end;
    end;
  Result := True;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:40, 13-07-2011 | #2343


Аватара для MrLOLs

Новый участник


Сообщения: 12
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Соединил два предложенные варианта:

Код
Код: Выделить весь код
Function cm(Message: String): String; Begin Result:= ExpandConstant('{cm:'+ Message +'}') End;
function NextButtonClick(CurPageID: Integer): Boolean;
var
	i: integer;
	path,s: string;
	One,Two: boolean;
Begin
Result:=True;
 if CurPageID = wpSelectDir then
	begin
	path:= Uppercase(WizardForm.DirEdit.Text);

    for i := 1 to Length(path) do if path[i] > #122 then
    begin One:=True;S:=cm('Cyrillic'); end;

    if (Pos(Uppercase(ExpandConstant('{pf}')), path) > 0) or (Pos(Uppercase(ExpandConstant('{win}')), path) > 0) then
    begin Two:=True;S:=cm('SysDirSelect'); end;

if One or Two then
begin
MsgBox(S, mbError, mb_Ok); Result:=False; Exit;
end;

	end;
End;


Если не подключать ф-ю Function cm в этом варианте, то CustomMessages не сработает

Отправлено: 23:32, 13-07-2011 | #2344


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


помогите разобраться с прогой regshot
Дело в том,что мне нужен реестр игры властелин колец,хоть и игра запускается с русским текстом и звуком во время игры но во время показа роликов звука нет.
Поэтому нужен реестр
Помогите

Отправлено: 01:05, 14-07-2011 | #2346


Аватара для Rikill

Старожил


Сообщения: 189
Благодарности: 90

Профиль | Отправить PM | Цитировать


Neutron, изменить сетапник нереально (разве что иконку), так что смысла в проверке сумм нету.

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 01:23, 14-07-2011 | #2347


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Цитата ILIA_1992:
Дело в том,что мне нужен реестр игры властелин колец,хоть и игра запускается с русским текстом и звуком во время игры но во время показа роликов звука нет.
Поэтому нужен реестр »
вывод в стиле "таракан без ног не слышит"
звуковые файлы могут распаковываться не только в {app}, но и в {appdata}, моидокументы

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 08:01, 14-07-2011 | #2348


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


может нужно было поставить [ht=http://img.ii4.ru/images/2011/07/14/127569_Bezemyanney.jpg[/ht] галочку возле rus

У меня после добавления реестра игра стала на аглийском и звук в роликах появился но на английском.ВЧём может быть проблема???

Последний раз редактировалось ILIA_1992, 14-07-2011 в 17:20.


Отправлено: 14:56, 14-07-2011 | #2349


Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить PM | Цитировать


Neutron, я немного не понял,в моих документах ничего кроме сохранённого профиля и конфигурации грфики нет

Отправлено: 20:38, 14-07-2011 | #2350



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход