PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 [63] 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Nordek
29-07-2014, 09:03
то в Program Files разрешено только чтение »
Хотите чтоб например в папке "My Program" (C:\Program Files\My Program) можно было перемещать из папки, редактировать в папке что либо без запроса администратора?

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

Это вообще можно релизовать? »Средствами 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


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

habib2302
29-07-2014, 17:45
Доброе время суток. В моем репаке 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://i.imgur.com/ZkfQrd0.png (http://i.imgur.com/2fIMDpH.jpg)

а после выбора другого каталога стало так
http://i.imgur.com/Stb9jN0.png (http://i.imgur.com/vXdq0fb.jpg)

http://rghost.ru/57153259

Антон_Мураткин@vk
30-07-2014, 01:48
Доброе время суток!!
Возможно ли добавить в категорию [Tasks] без создания нового лейбла, пару слов? И что бы они были без чекбокса?
Заранее благодарю.

Антон_Мураткин@vk
30-07-2014, 02:27
Всё спасибо. Решение нашёл сам.

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

Антон_Мураткин@vk
31-07-2014, 22:33
Доброе время суток. Ребят кто знает как прописать путь главной папки и под-папок вот в этом примере.

-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Какие тут ошибки, кто знает?
Заранее благодарю!

R.i.m.s.k.y.
31-07-2014, 22:46
Если тут ошибки? Кто знает под скажите. »
Есть ли тут ошибки? Кто знает, подскажите




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

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

habib2302
31-07-2014, 23:14
R.i.m.s.k.y., как раз таки нет. мой скрипт изучи (ссылка в моем прошлом посте http://rghost.ru/57153259).

[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;

Антон_Мураткин@vk
31-07-2014, 23:20
R.i.m.s.k.y., А вы тут находитесь по поиску ошибок орфографии?

R.i.m.s.k.y.
01-08-2014, 08:07
habib2302, кмк ошибка в том что ты жеско задаешь путь, я бы попробовал AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}'

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

Какие тут ошибки, кто знает? »
непонятный код в иннотеме

habib2302
01-08-2014, 09:43
R.i.m.s.k.y., причем тут это. я говорю, что при выборе другого каталога установки изначальный путь сбивается (посмотри скриншоты в этом посте http://forum.oszone.net/post-2382860-1242.html)
в коде прописано так
AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}'
а в разделе Setup прописано так
DefaultDirName={pf}\FinalWire
и еще в добавок стоит параметр установки
AppendDefaultDirName=yes

R.i.m.s.k.y.
01-08-2014, 10:03
в коде прописано так »
хм
я видел
AddBackslash(ExpandConstant('{defaultdirname}')) + '{#AIDA641}' (по памяти, пишу с работы)
это и смутило

sergey3695
01-08-2014, 11:02
Цитата Антон_Мураткин@vk:
Какие тут ошибки, кто знает? »
это батник. темой ошибся.
может так?
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\ -msrep+delta+lzma:a1:mfbt4:d32m:fb273:mc10000:lc8 Data-1.bin packeddata\*
@pausepackeddata\* из этой папки берет для запаковки. Data-1.bin название запакованного. я справку не открывал и уже не помню что там точно что обозначает. поэтому запаковывает, но может что лишнее. где-то бред может быть.
Цитата R.i.m.s.k.y.:
секция компонентов идет после выбора директории, вызов некорректен »
я б руки оторвал за то что ботву туда запихнул....
Цитата R.i.m.s.k.y.:
кмк ошибка в том что ты жеско задаешь путь, я бы попробовал AddBackslash(ExpandConstant('{app}')) + '{#AIDA641}' »
да не задает он путь как нужно. а тупо меняется надпись в эдите. а выбор папки так не сделать.
Цитата habib2302:
мне хоть кто-нибудь ответит на мой вопрос »
Вот... (http://rghost.ru/57198516)

R.i.m.s.k.y.
01-08-2014, 11:17
а тупо меняется надпись в эдите. »
это меня тоже смутило
но т.к я не знаю как править путь после выбора - решил не возбухать :)

это батник. темой ошибся. »
я воще подумал что nsis

saurn
01-08-2014, 14:11
а тупо меняется надпись в эдите »
Текст в эдите и есть путь.

habib2302
01-08-2014, 15:26
sergey3695, огромное спасибо. хоть один человек меня понял

sergey3695
01-08-2014, 17:06
saurn, там нужно было сделать чтобы и при нажатии "обзор" измененялась прибавляемая часть пути.

habib2302
01-08-2014, 19:14
sergey3695, один нюанс появился. не работает команда /DIR

astafev_roma
01-08-2014, 20:27
Доброго времени суток уважаемые пользователи.

Хотел бы попросить у опытных пользователей помощи:

Возможно ли добавить на страницу выбора заданий (tasks) небольшое окошко и чтобы в нем выводилась дополнительная информация (инструкция) из .rtf файла?

Habetdin
01-08-2014, 21:45
Возможно ли добавить на страницу выбора заданий (tasks) небольшое окошко и чтобы в нем выводилась дополнительная информация (инструкция) из .rtf файла? »
http://i.imgur.com/UMZaFvR.png
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Files]
// Можно и .rtf
Source: compiler:Examples\Readme.txt; Flags: dontcopy ignoreversion solidbreak

[Tasks]
Name: example1; Description: Первый пошёл; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: example2; Description: Второй...; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: example3; Description: Третий...; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: example4; Description: Кто все эти люди?; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Code]
{ RedesignWizardFormBegin } // Don't remove this line!
// Don't modify this section. It is generated automatically.
var
RichEditViewer1: TRichEditViewer;
// сохраняйте следующую переменную при редактировании элементов в FormDesigner'е, а то потеряется при перезаписи :)
RichEditViewer1Text: AnsiString;

procedure RedesignWizardForm;
begin
with WizardForm.TasksList do
begin
Height := ScaleY(128);
end;

{ RichEditViewer1 }
RichEditViewer1 := TRichEditViewer.Create(WizardForm);
with RichEditViewer1 do
begin
Name := 'RichEditViewer1';
Parent := WizardForm.SelectTasksPage;
Left := ScaleX(0);
Top := ScaleY(168);
Width := ScaleX(417);
Height := ScaleY(65);
ScrollBars := ssVertical;
end;

RichEditViewer1.TabOrder := 2;

{ ReservationBegin }
ExtractTemporaryFile('Readme.txt');
LoadStringFromFile(ExpandConstant('{tmp}/Readme.txt'), RichEditViewer1Text);
RichEditViewer1.RTFText := RichEditViewer1Text;
{ ReservationEnd }
end;
// Don't modify this section. It is generated automatically.
{ RedesignWizardFormEnd } // Don't remove this line!

procedure InitializeWizard();
begin
RedesignWizardForm;
end;

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030106B02000054504630F10B5457697A617264466F726D0A57697A61726 4466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C656674020 00B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038E010 D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724 E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C6963697457696 4746803F1010E4578706C696369744865696768740339010000F110544E65774E6F7465626F6F6B5061676509496E6E65725 06167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10C544E65774E6F74656 26F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B4C6963656E7365506167650D4 578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6F6B5 06167650F53656C6563745461736B73506167650D4578706C69636974576964746803A1010E4578706C69636974486569676 87403ED0000F110544E6577436865636B4C697374426F78095461736B734C697374064865696768740380000E4578706C696 3697448656967687403800000000F5452696368456469745669657765720F526963684564697456696577657231044C65667 4020003546F7003A80005576964746803A101064865696768740241085461624F72646572020200000000000000

Внешний вид можно отредактировать (http://i.imgur.com/YTOmPZd.png) с помощью FormDesigner'а в расширенной версии Inno Setup




© OSzone.net 2001-2012