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

Ответить
 • Просмотры: 50
Аватара пользователя
bosenkov5

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

Сообщение bosenkov5 »

Цитата alenov:



то в Program Files разрешено только чтение
Скрипты Inno Setup. Помощь и советы [часть 7]




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



Например: Программа создаёт файл конфигурации ini

Условие: Файл конфигурации ini создаётся рядом с программой.

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

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




Цитата alenov:



Это вообще можно релизовать?
Скрипты Inno Setup. Помощь и советы [часть 7]




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



По этому поводу с El Sanchez-ом можно так сказать уже обсуждали примерно
Скрипты Inno Setup. Помощь и советы [часть 6]
. Тогда, либо меня не поняли, либо я не правильно написал - что в итоге ни к чему хорошему не привело.



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



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



Код:

Код: Выделить всё

DisableDirPage=yes





либо жёстко привязывать папку:



Код:

Код: Выделить всё

[Files]
Source: MyProg.exe; DestDir: {app}\My Program; Flags: ignoreversion

а затем к My Program применять Permissions.



Код:

Код: Выделить всё

[Dirs]
Name: {app}\My Program

Рекомендую сначала почитать справку, прежде чем что-то предпринимать.
Аватара пользователя
Shift85

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

Сообщение Shift85 »

Доброе время суток. В моем репаке 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
Аватара пользователя
bosenkov5

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

Сообщение bosenkov5 »

Shift85, Это делать в разделе:[Icons] ?я так понял?
Аватара пользователя
Shift85

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

Сообщение Shift85 »

Всё спасибо. Решение нашёл сам.
Аватара пользователя
bosenkov5

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

Сообщение bosenkov5 »

Shift85, сделал вот так

Name: {userdesktop}\{#MyAppName}; Filename: {app}{#exeName}; Check: CreateIcons

Name: "{group}\{#MyAppName}"; Filename: "{app}\{#exeName}"

Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#exeName}"; Tasks: desktopicon


но выдает ошибку:
Вложения

[Расширение gif было запрещено, вложение больше недоступно.]

Аватара пользователя
bosenkov5

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

Сообщение bosenkov5 »

Цитата Антон_Мураткин@vk:



Если тут ошибки? Кто знает под скажите.
Скрипты Inno Setup. Помощь и советы [часть 7]




Есть ли тут ошибки? Кто знает, подскажите









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



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

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

Сообщение Dima2009 »

Люди добрые помогите накидать срипт в распаковке 7z под паролем рядом с инстал.

чтоб вот так было.

Изображение
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

bosenkov5, он у тебя ругается на секцию tasks, скорее всего desktopicon не определен в секции tasks
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

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



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





Цитата Антон_Мураткин@vk:



Какие тут ошибки, кто знает?
Скрипты Inno Setup. Помощь и советы [часть 7]




непонятный код в иннотеме
Ответить

Вернуться в «Автоматическая установка приложений»