PDA

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


Страниц : 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

Mihail88
13-08-2009, 23:00
Elka80

[Icons]
Name: {group}\Удалить Игру; Filename: {uninstallexe}; WorkingDir: {app}
Name: {group}\Запустить Игру; Filename: {app}\Игра.exe; WorkingDir: {app}
Name: {group}\Readme; Filename: {app}\ReadmeFile.txt; WorkingDir: {app}

"{app}\Игра.exe" в зависимости где в папке с игрой находится пускавой exe файл или текстовой readme. у unreal tournament например в подкаталоге System пускавик "{app}\System\ut.exe"
____________________=)

To All

Добавил TRichEditViewer на первую страницу, как подгрузить ему файл RTF?
Хотел "InfoBefore.rtf" ему прописать, но низнаю как его в "стринги надели" :D.

горе код:
[Files]
Source: "Info.rtf"; DestDir: {tmp}; Flags: dontcopy noencryption

[Code]

var
InfoMemo: TRichEditViewer;

procedure InitializeWizard();

var
RTFString: String;
begin
InfoMemo:= TRichEditViewer.Create(WizardForm);
with InfoMemo do
begin
Parent:= WizardForm.WelcomePage;
Left:= 175;
Top:= 10;
Width:= ScaleX(312);
Height:= ScaleY(293);
ReadOnly:= True
ScrollBars:= ssVertical
TabOrder:= 4
WantReturns:= False
UseRichEdit:= False
end;
end;
begin
ExtractTemporaryFile('Info.rtf')
LoadStringFromFile(ExpandConstant('{tmp}\Info.rtf'), RTFString)
WizardForm.WelcomePage.InfoMemo.RTFText := RTFString;
end;

Elka80
13-08-2009, 23:22
Mihail88,
Спасибо!

У вас
[Icons]
Name: {group}\Удалить Игру; Filename: {uninstallexe}; WorkingDir: {app}
Name: {group}\Запустить Игру; Filename: {app}\Игра.exe; WorkingDir: {app}
Name: {group}\Readme; Filename: {app}\ReadmeFile.txt; WorkingDir: {app} »


У меня (создал)
[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon

Почему у меня так? не как у вас!

Mihail88
13-08-2009, 23:35
Elka80

Могу только предполагать, может {#MyAppName} прописан как запускаемый файл, ищите в коде где он упоменается и на какой файл ровняется.

serg aka lain
14-08-2009, 00:15
Добавил TRichEditViewer на первую страницу, как подгрузить ему файл RTF? »
можно так

; Inno Setup Compiler 5.3.3(u)

[Setup]
AppName=My Program
AppVerName=My Program
OutputDir=userdocs:.
OutputBaseFilename=My Program
DefaultDirName={pf}\My Program

[Files]
Source: "Info.rtf"; DestDir: {tmp}; Flags: dontcopy noencryption;

код:
procedure InitializeWizard();
var
MyInfo: TRichEditViewer;
RTF: AnsiString;
begin
ExtractTemporaryFile('Info.rtf');
LoadStringFromFile(ExpandConstant('{tmp}\Info.rtf'), RTF);

MyInfo := TRichEditViewer.Create(WizardForm);
MyInfo.Parent:= WizardForm.WelcomePage;
MyInfo.SetBounds(ScaleX(175), ScaleY(10), ScaleX(312), ScaleY(293));
MyInfo.ScrollBars := ssVertical;
MyInfo.ReadOnly := True;
MyInfo.RTFText := RTF;
end;

Elka80
14-08-2009, 00:50
Еще вопрос у меня все файлы Удалить игру+ReadME+Настройки игры в (D:\games\pes2009)

Name: {group}\setup.exe; Filename: {uninstallexe}; WorkingDir: {app} Удалить Игру
Name: {group}\pes2009.exe; Filename: {app}\Игра.exe; WorkingDir: {app} Запустить Игру
Name: {group}\ReadMe.txt; Filename: {app}\ReadmeFile.txt; WorkingDir: {app} » Readme

Я правильно написал?

boss911
14-08-2009, 01:07
Если язык инсталятора - то залазим в папку с установленной программой
C:\Program Files\Inno Setup 5\Languages\.. находим файл Russian.isl переименовываем в Default.isl и копируем его в C:\Program Files\Inno Setup 5\ »
Пардон, а зачем такой изврат, если можно поступить более красивым способом - прописать это в самом скрипте:
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
Имя языка в 'Name', можно задать любое.

serg aka lain
14-08-2009, 01:15
Elka80
правильно будет скорее так:

Name: "{group}\Удалить PES2009"; Filename: "{uninstallexe}"; Comment: "Удалить игру PES2009";
Name: "{group}\PES2009"; Filename: "{app}\pes2009.exe"; WorkingDir: "{app}"; Comment: "Запуск игры PES2009";
Name: "{group}\ReadMe"; Filename: "{app}\ReadmeFile.txt"; WorkingDir: "{app}"; Comment: "Прочитать файл ReadMe";

Elka80
14-08-2009, 01:23
serg aka lain,
Спасибо щас проверю!

Elka80
14-08-2009, 02:07
serg aka lain,
Спасибо еше раз, получилось, толко readmi не показывать (сам редми показывает, толко файл не показывает)

или меню программы ? »
Как?

FlatX007
14-08-2009, 06:58
Пардон, а зачем такой изврат, если можно поступить более красивым способом - прописать это в самом скрипте: »

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

или меню программы ? »
Как? »

Вот этого я незнаю, всегда сам пользовался английской оболочкой ... а что там сопсно непонятного ?

толко readmi не показывать (сам редми показывает, толко файл не показывает) »

Это как так , 3 раза прочитал непонял ... :)

Mihail88
14-08-2009, 08:34
толко readmi не показывать (сам редми показывает, толко файл не показывает) »

Elka80
{app} - папка установки
ReadmeFile.txt - имя файла, запускаемый ярлыком

возможно у вас Readme.txt

Elka80
14-08-2009, 14:21
возможно у вас Readme.txt »
Так и ест) Спс!

Serega
15-08-2009, 00:18
не мог бы вот это доделать? »
время будет по свободней - доделаю...

Скажите как это убрать? »
Я так понимаю, вы решили этот вопрос?

его единственная задача дополнить unins000.dat списком новых файлов, »
В скрипте в секции [Setup] запишите:
DirExistsWarning=no - не показывать сообщение о существовании папки;
UninstallLogMode=append - стоит по умолчанию, т.е. можно не указывать.
В секции [UninstallDelete]:
Name: {app}; Type: filesandordirs

Как заставить инсталяшку не оставлять след в установке-удалении программ »
В секции [Setup]:
Uninstallable=no
Встал вопрос с правами. При обновлении файла сбрасываются права на файл. Как их можно сохранить? »
Как понять обновление файла? В любом случае - это перезапись.
Нужно перед инсталляцией (обновлением) сделать бэкап файлов »
Не так давно этот вопрос уже обсуждался, поищите на предыдущих страницах...

p3rf3ct1c
16-08-2009, 13:47
Inno Setup 5.3.4

5.3.4 (2009-08-15)

* On Windows 7 the Compiler IDE now displays a progress indicator on its taskbar button.
* Pascal Scripting: Documented function IDispatchInvoke, which can be used to access a COM Automation property or method whose name is a reserved word.
* Unicode Inno Setup fixes:
o [Registry] section entries with ValueType set to binary did not set the correct value.
o Pascal scripting: setting a COM Automation property or method parameter to a Unicode string variable caused an 'Invalid Type' error.

http://files.jrsoftware.org/ispack/ispack-5.3.4.exe

http://files.jrsoftware.org/ispack/ispack-5.3.4-unicode.exe

A1EXXX
18-08-2009, 01:27
Русификатор для Inno Setup 5.3.4

http://vadimsva.ucoz.org/Inno_Setup_5_rus.7z

Содержит версии: cтандарт, ISPP (для 2х версий один файл), стандарт unicode, ISPP unicode (для 2х версий один файл, лежит в папке unicode).

aToVille
18-08-2009, 08:21
есть ли restools (слева добавляется колонка и текст скрипта более нагляден) для новой версии? а то на их сайте по китайски ничего не понял :)

heNch1g
18-08-2009, 14:00
Доброго времени суток. Я опять с вопросами :)

Задача:

на странице дополнительных компонентов нужна кнопка "Подхватить конфиг", при нажатии на которую вылезе стандартное окно выбора файла *.cfg, который в последующем будет копироваться в папку с программой под именем config.cfg.
Как вариант - сделать чекбокс, при включении которого появляется это самое окно, так думаю даже будет проще.

Как еще один вариант, сделать новую страницу, на которой будет та самая кнопка, рядом на лабеле - имя выбранного файла (хотя зачем?), и внизу - выдержки из этого файла. По структуре он в виде:
name "myname"
commanda_primer "9"

Как по замыслам - чтобы параметры name и sensetivity вместе со значениями считывались из файла и писались на лабелах пониже кнопки. Наглядно это реализовано в инсталляторе любого продукта касперского в момент выбора ключа)

Надеюсь на вашу помощь, я по вашим постам уже молюсь на вас) первый вариант предпочтительней, но второй для общего развития было бы неплохо)

Elka80
18-08-2009, 18:08
Скажите, Что я не правильно сделал?

http://i063.radikal.ru/0908/64/c2db71439e48.jpg

p3rf3ct1c
18-08-2009, 19:06
Elka80, в вашей Akella Games папке наверно нет файлов

Serega
18-08-2009, 19:50
есть ли restools ... для новой версии? »
Самая последняя - InnoCompiler090506_English.zip (http://restools.hanzify.org/inno/InnoCompiler090506_English.zip), сделана на основе Inno Setup 5.2.3, но возможностей больше.

на странице дополнительных компонентов нужна кнопка "Подхватить конфиг", при нажатии на которую вылезе стандартное окно выбора файла *.cfg, который в последующем будет копироваться в папку с программой под именем config.cfg. »
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Tasks]
Name: cfg; Description: Использовать ваш файл настроек; GroupDescription: Дополнительно:; Flags: unchecked

[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Tasks: cfg

[UninstallDelete]
Name: {app}; Type: filesandordirs

[Code]
var
str: string;
btn: TButton;
edt: TEdit;
text1, text2: TNewstatictext;

procedure TasksListOnClick(Sender: TObject);
begin
if IsTaskSelected('cfg') then
begin
btn.Enabled:= True;
edt.Enabled:= True;
edt.Color:= clWindow;
end
else
begin
btn.Enabled:= False;
edt.Enabled:= False;
edt.Color:= clBtnFace;
edt.Clear;
end;
end;

procedure btnOnClick(Sender: TObject);
var
S: TArrayOfString;
i: Integer;
begin
if GetOpenFileName('', str, ExpandConstant('{srcexe}'), 'Файл настроек (*.cfg)|*.cfg', '') then
if str <> '' then
begin
edt.Text:= str;
if LoadStringsFromFile(str, S) then
begin
for i:= 0 to GetArrayLength(S)-1 do
begin
if Pos('name "myname"', S[i]) > 0 then
text1.Caption:= 'Строка № ' + IntToStr(i)+ ': ' + S[i];
if Pos('commanda_primer "9"', S[i]) > 0 then
text2.Caption:= 'Строка № ' + IntToStr(i)+ ': ' + S[i];
end;
end;
end;
end;

procedure InitializeWizard();
begin
btn:= TButton.Create(WizardForm);
with btn do
begin
SetBounds(330, 83, 75, 25);
Caption:= 'Обзор';
OnClick:= @btnOnClick;
Enabled:= False;
Parent:= WizardForm.SelectTasksPage;
end;

edt:= TEdit.Create(WizardForm);
with edt do
begin
SetBounds(20, 85, 300, 23);
Enabled:= False;
Color:= clBtnFace;
Parent:= WizardForm.SelectTasksPage;
end;

text1:= TNewstatictext.Create(WizardForm);
with text1 do
begin
SetBounds(20, 110, 300, 23);
AutoSize:= True;
Parent:= WizardForm.SelectTasksPage;
end;

text2:= TNewstatictext.Create(WizardForm);
with text2 do
begin
SetBounds(20, 130, 300, 23);
AutoSize:= True;
Parent:= WizardForm.SelectTasksPage;
end;

WizardForm.TasksList.OnClickCheck:= @TasksListOnClick;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID > wpInstalling then
begin
if IsTaskSelected('cfg') then
if str <> '' then
FileCopy(str, ExpandConstant('{app}\config.cfg'), False);
end;
end;


Наглядно это реализовано в инсталляторе любого продукта касперского в момент выбора ключа) »
К сожалению, не видел...




© OSzone.net 2001-2012