Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.
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;
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;
Еще вопрос у меня все файлы Удалить игру+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
Я правильно написал?
Если язык инсталятора - то залазим в папку с установленной программой
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";
serg aka lain,
Спасибо щас проверю!
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
возможно у вас Readme.txt »
Так и ест) Спс!
не мог бы вот это доделать? »
время будет по свободней - доделаю...
Скажите как это убрать? »
Я так понимаю, вы решили этот вопрос?
его единственная задача дополнить 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
Русификатор для 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 (слева добавляется колонка и текст скрипта более нагляден) для новой версии? а то на их сайте по китайски ничего не понял :)
Доброго времени суток. Я опять с вопросами :)
Задача:
на странице дополнительных компонентов нужна кнопка "Подхватить конфиг", при нажатии на которую вылезе стандартное окно выбора файла *.cfg, который в последующем будет копироваться в папку с программой под именем config.cfg.
Как вариант - сделать чекбокс, при включении которого появляется это самое окно, так думаю даже будет проще.
Как еще один вариант, сделать новую страницу, на которой будет та самая кнопка, рядом на лабеле - имя выбранного файла (хотя зачем?), и внизу - выдержки из этого файла. По структуре он в виде:
name "myname"
commanda_primer "9"
Как по замыслам - чтобы параметры name и sensetivity вместе со значениями считывались из файла и писались на лабелах пониже кнопки. Наглядно это реализовано в инсталляторе любого продукта касперского в момент выбора ключа)
Надеюсь на вашу помощь, я по вашим постам уже молюсь на вас) первый вариант предпочтительней, но второй для общего развития было бы неплохо)
Скажите, Что я не правильно сделал?
http://i063.radikal.ru/0908/64/c2db71439e48.jpg
p3rf3ct1c
18-08-2009, 19:06
Elka80, в вашей Akella Games папке наверно нет файлов
есть ли 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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC