Имя пользователя:
Пароль:
 | Правила  

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

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

Аватара для El Sanchez

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

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

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]

Отправлено: 11:48, 10-03-2014

 

SHVtYW4=


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

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


Цитата alenov:
то в Program Files разрешено только чтение »
Хотите чтоб например в папке "My Program" (C:\Program Files\My Program) можно было перемещать из папки, редактировать в папке что либо без запроса администратора?

Например: Программа создаёт файл конфигурации ini
Условие: Файл конфигурации ini создаётся рядом с программой.
Если в Windows 7 запустить программу из под администратора, то файл может перезаписываться.
Если в Windows 7 запустить программу обычным способом, то файл не перезапишется а далее может последовать ошибка. В лучшем случае если файл конфигурации ini будет создан в "C:\Users\%UserName%\AppData\Local\VirtualStore".

Цитата alenov:
Это вообще можно релизовать? »
Средствами Inno? Конечно. Но небезопасно по отношению к системе, т.е неправильным действием можно нарушить безопасность всей системы.

По этому поводу с El Sanchez-ом можно так сказать уже обсуждали примерно отсюда. Тогда, либо меня не поняли, либо я не правильно написал - что в итоге ни к чему хорошему не привело.

В справке написано, про Permissions почитайте.

alenov, В вашем случае: если будете применять Permissions, то чтобы избежать проблем с нарушением безопасности системы, нужно либо Запретить пользователю менять место установки приложения
Код: Выделить весь код
DisableDirPage=yes


либо жёстко привязывать папку:
Код: Выделить весь код
[Files]
Source: MyProg.exe; DestDir: {app}\My Program; Flags: ignoreversion
а затем к My Program применять Permissions.
Код: Выделить весь код
[Dirs]
Name: {app}\My Program
Рекомендую сначала почитать справку, прежде чем что-то предпринимать.

Последний раз редактировалось Nordek, 29-07-2014 в 09:28.

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

Отправлено: 09:03, 29-07-2014 | #1241



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

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


Аватара для habib2302

Ветеран


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

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


Доброе время суток. В моем репаке AIDA64 присутствуют 4 редакции т.е 4 программы и дело в том, что если использовать параметр установки
Код: Выделить весь код
[Setup]
AppendDefaultDirName=yes
и этот код для изменение пути установки в зависимости от выбранного компонента
Код: Выделить весь код
procedure CurPageChanged(CurPageID: Integer); 
begin 
  case CurPageID of 
    wpSelectComponents: 
    begin 
if IsComponentSelected('AIDA64\I\1') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA641}' 
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA641}' 
  end else 
  if IsComponentSelected('AIDA64\I\3') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA642}' 
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA642}' 
  end else 
  if IsComponentSelected('AIDA64\I\2') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA643}' 
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA643}' 
    end else 
      if IsComponentSelected('AIDA64\I\4') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultDirName")}')) + '{#AIDA644}' 
    WizardForm.GroupEdit.Text := AddBackslash(ExpandConstant('{#SetupSetting("DefaultGroupName")}')) + '{#AIDA644}' 
    end else 
      if IsComponentSelected('AIDA64\P\1') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA641} Portable' 
  end else 
  if IsComponentSelected('AIDA64\P\3') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA642} Portable' 
  end else 
  if IsComponentSelected('AIDA64\P\2') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA643} Portable' 
  end else 
    if IsComponentSelected('AIDA64\P\4') then 
  begin 
    WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#AIDA644} Portable' 
      end; 
    end; 
  end; 
end;
работать не будет если изменить путь установки через кнопку обзор

было так


а после выбора другого каталога стало так


http://rghost.ru/57153259

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 30-07-2014 в 21:01.


Отправлено: 17:45, 29-07-2014 | #1242


Пользователь


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

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


Доброе время суток!!
Возможно ли добавить в категорию [Tasks] без создания нового лейбла, пару слов? И что бы они были без чекбокса?
Заранее благодарю.

Отправлено: 01:48, 30-07-2014 | #1243


Пользователь


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

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


Всё спасибо. Решение нашёл сам.

Отправлено: 02:27, 30-07-2014 | #1244


Аватара для habib2302

Ветеран


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

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


мне хоть кто-нибудь ответит на мой вопрос http://forum.oszone.net/post-2382860-1242.html

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 11:57, 31-07-2014 | #1245


Пользователь


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

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


Доброе время суток. Ребят кто знает как прописать путь главной папки и под-папок вот в этом примере.

Код: Выделить весь код
-ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\ -msrep+delta+lzma:a1:mfbt4:d32m:fb273:mc10000:lc8#@Data1.lst#Setup-1.bin
-ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\ -msrep+delta+lzma:a1:mfbt4:d32m:fb273:mc10000:lc8#@Data2.lst#Setup-2.bin
Какие тут ошибки, кто знает?
Заранее благодарю!

Последний раз редактировалось Антон_Мураткин@vk, 31-07-2014 в 23:44.


Отправлено: 22:33, 31-07-2014 | #1246


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

Ветеран


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

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


Цитата Антон_Мураткин@vk:
Если тут ошибки? Кто знает под скажите. »
Есть ли тут ошибки? Кто знает, подскажите




это были не опята не инно

habib2302, секция компонентов идет после выбора директории, вызов некорректен

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


Отправлено: 22:46, 31-07-2014 | #1247


Аватара для habib2302

Ветеран


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

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


R.i.m.s.k.y., как раз таки нет. мой скрипт изучи (ссылка в моем прошлом посте http://rghost.ru/57153259).
поменять страницы SelectDirPage и SelectComponentsPage местами

Код: Выделить весь код
[Setup]
AppName=My program
AppVerName=My program 1.5
DefaultDirName={pf}\My program
;DisableDirPage=True

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

[Components]
Name: WB; Description: 'Мой компьютер' - Настройки; ExtraDiskSpaceRequired: 1048576

[code]
function OnShouldSkipPage(Sender: TWizardPage): Boolean;
begin
    if WizardForm.ComponentsList.Items.Count > 0 then WizardForm.Tag:= 1; // отображаются страницы выбора папки и компонентов
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
  Case CurPageID of
  wpSelectDir: if WizardForm.Tag = 1 then
    begin
        WizardForm.SelectDirPage.Notebook.ActivePage:= WizardForm.SelectComponentsPage;
        WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectComponents)
        WizardForm.Hint:= WizardForm.PageDescriptionLabel.Caption; // запомнить SetupMessage(msgSelectDirDesc)
        WizardForm.PageDescriptionLabel.Caption:= SetupMessage(msgSelectComponentsDesc)
    end;
  wpSelectComponents: if WizardForm.Tag = 1 then
    begin
        WizardForm.SelectComponentsPage.Notebook.ActivePage:= WizardForm.SelectDirPage;
        WizardForm.DiskSpaceLabel.Caption:= WizardForm.ComponentsDiskSpaceLabel.Caption;
        WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectDir)
        WizardForm.PageDescriptionLabel.Caption:= WizardForm.Hint // иначе вместо названия программы [name]
    end;
  end;
End;

Procedure InitializeWizard;
Begin
    PageFromID(wpSelectDir).OnShouldSkipPage:= @OnShouldSkipPage
end;

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 23:14, 31-07-2014 | #1248


Пользователь


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

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


R.i.m.s.k.y., А вы тут находитесь по поиску ошибок орфографии?

Отправлено: 23:20, 31-07-2014 | #1249


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

Ветеран


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

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


habib2302, кмк ошибка в том что ты жеско задаешь путь, я бы попробовал AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}'

Антон_Мураткин@vk, http://www.bfm.ru/news/261172

Цитата Антон_Мураткин@vk:
Какие тут ошибки, кто знает? »
непонятный код в иннотеме

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


Отправлено: 08:07, 01-08-2014 | #1250



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34




 
Переход