мм.... новый innounp (от 25.09.2007) умеет распаковывать 5.2.0 исправьте плиз в шапке )
» Inno Setup (создание инсталяционных пакетов)
Alex Zaguzin
пример инсталлятора с Corona Skin версии 5.0, папка Corona должна быть рядом с этим скриптом.
[Setup]
AppName=Corona Lite
AppVerName=Inno Setup Corona Skin & System Test
DefaultDirName={pf}\Corona Skin
#define SkinPath AddBackslash(SourcePath) + "Corona\"
#include SkinPath +"Corona_kernel.iss"
[Code]
Procedure CurPageChanged(CurPageID: Integer);
Begin
ShowSkinPage(CurPageID) { Corona Skin by Victor Dobrov }
End;
Procedure InitializeWizard;
Begin
InitializeSkin { Corona Skin by Victor Dobrov }
End;
Procedure DeinitializeSetup;
Begin
DeInitializeSkin
End;
пример инсталлятора с Corona Skin версии 5.0, папка Corona должна быть рядом с этим скриптом.
[Setup]
AppName=Corona Lite
AppVerName=Inno Setup Corona Skin & System Test
DefaultDirName={pf}\Corona Skin
#define SkinPath AddBackslash(SourcePath) + "Corona\"
#include SkinPath +"Corona_kernel.iss"
[Code]
Procedure CurPageChanged(CurPageID: Integer);
Begin
ShowSkinPage(CurPageID) { Corona Skin by Victor Dobrov }
End;
Procedure InitializeWizard;
Begin
InitializeSkin { Corona Skin by Victor Dobrov }
End;
Procedure DeinitializeSetup;
Begin
DeInitializeSkin
End;
Victor_Dobrov - ОК. Огромное спасибо. Теперь допетрил как всё прописывать.
Какая переменая заставляет создаваться ярлык в панеле быстрого запуска и где можно посмотреть что означают определеные переменые
Цитата:
Цитата:
{userdesktop}и т.д
{group}
{userappdata}
viktor9
Цитата:
В хелпе!
{userdesktop} - Рабочий стол пользователя
{group} - Все программы в меню "Пуск"
{userappdata} - Documents and Settings\Имя пользователя\Application Data
Цитата:
По-моему, такой нету, но делается так:
[Tasks]
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Icons]
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\My Program"; Filename: "{app}\MyProg.exe"; Tasks: quicklaunchicon
Цитата:
где можно посмотреть что означают определеные переменые
В хелпе!
{userdesktop} - Рабочий стол пользователя
{group} - Все программы в меню "Пуск"
{userappdata} - Documents and Settings\Имя пользователя\Application Data
Цитата:
Какая переменая заставляет создаваться ярлык в панеле быстрого запуска
По-моему, такой нету, но делается так:
[Tasks]
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Icons]
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\My Program"; Filename: "{app}\MyProg.exe"; Tasks: quicklaunchicon
Немного обновил Corona Skin. Подробности в первом посте (на первой странице)
iTASmania_Inc
Спасибо
Спасибо
Дайте пожалуйста кто-нибудь скрипт для запуска Logo.exe (by AtotIK), а то я че то найти никак не могу. Заранее СПАСИБО.
Unc1e
[Files]
Source: "Logo.bmp"; DestDir: {tmp}; Flags: dontcopy;
Source: "Logo.exe"; DestDir: {tmp}; Flags: dontcopy;
[Code]
procedure InitializeWizard();
var
ResultCode_1: Integer;
begin
ExtractTemporaryFile('Logo.bmp')
ExtractTemporaryFile('Logo.exe')
Exec(ExpandConstant('{tmp}\Logo.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode_1)
end;
[Files]
Source: "Logo.bmp"; DestDir: {tmp}; Flags: dontcopy;
Source: "Logo.exe"; DestDir: {tmp}; Flags: dontcopy;
[Code]
procedure InitializeWizard();
var
ResultCode_1: Integer;
begin
ExtractTemporaryFile('Logo.bmp')
ExtractTemporaryFile('Logo.exe')
Exec(ExpandConstant('{tmp}\Logo.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode_1)
end;
Sampron
Спасибо! Только мне надо было запустить без мастера, то есть function InitializeSetup(): Boolean; Но это я уже поправил сам.
Спасибо! Только мне надо было запустить без мастера, то есть function InitializeSetup(): Boolean; Но это я уже поправил сам.
Собрал FAQ из двух предыдущих веток, CHM-файл, вопросы старался разместить более-менее по тематике, грамматические ошибки по возможности исправлял.
Некоторые вопросы перекликаются с приведенными в руководстве Kindly.
Если это кому-нибудь нужно, прикрепите, куда-нибудь, чтобы не потерялось.
http://data.cod.ru/33596341706
Некоторые вопросы перекликаются с приведенными в руководстве Kindly.
Если это кому-нибудь нужно, прикрепите, куда-нибудь, чтобы не потерялось.
http://data.cod.ru/33596341706
прошу помощи
не срабатывает секция
Код: Root: HKCR; Subkey: "CLSID\645FF040-5081-101B-9F08-00AA002F954E\Shell\Запустить CCleaner"; ValueName: "По умолчанию"; ValueType: string; ValueData: "@=C:\\Program Files\\CCleaner\\CCleaner.exe /AUTO"; Flags: uninsdeletekey
Root: HKCR; Subkey: "CLSID\645FF040-5081-101B-9F08-00AA002F954E\Shell\Открыть CCleaner..."; ValueName: "По умолчанию"; ValueType: string; ValueData: "@=C:\\Program Files\\CCleaner\\CCleaner.exe"; Flags: uninsdeletekey
не срабатывает секция
Код: Root: HKCR; Subkey: "CLSID\645FF040-5081-101B-9F08-00AA002F954E\Shell\Запустить CCleaner"; ValueName: "По умолчанию"; ValueType: string; ValueData: "@=C:\\Program Files\\CCleaner\\CCleaner.exe /AUTO"; Flags: uninsdeletekey
Root: HKCR; Subkey: "CLSID\645FF040-5081-101B-9F08-00AA002F954E\Shell\Открыть CCleaner..."; ValueName: "По умолчанию"; ValueType: string; ValueData: "@=C:\\Program Files\\CCleaner\\CCleaner.exe"; Flags: uninsdeletekey
Corona Skin & System Test & SlideShow & Player - обложка для Inno Setup с проверкой системных требований.
Исправлена функция CalcDirSize. При первой установке приложения серийный номер не подставляется. Проигрыватель: плэйлист обновляется быстрее. В плэйлист добавляются AVI-файлы, которые показываются в фоновом окне (не все, так как используется MCI).
Исправлена функция CalcDirSize. При первой установке приложения серийный номер не подставляется. Проигрыватель: плэйлист обновляется быстрее. В плэйлист добавляются AVI-файлы, которые показываются в фоновом окне (не все, так как используется MCI).
Root: HKCR
Возможно, надо HKCU
Возможно, надо HKCU
Не нашёл в хелпе значение флага createallsubdirs,дословно перевести,то могу,но правильно ли это будет.
Dimbay
Создать все подкаталоги - если файл зарыт на несколько уровней подкаталогов (WINDOWS\system32\DRVSTORE\), то при распаковке файла в каталог DRVSTORE\ инсталлятор автоматически создаст все каталоги верхнего уровня: WINDOWS\system32\ если они не существуют.
Создать все подкаталоги - если файл зарыт на несколько уровней подкаталогов (WINDOWS\system32\DRVSTORE\), то при распаковке файла в каталог DRVSTORE\ инсталлятор автоматически создаст все каталоги верхнего уровня: WINDOWS\system32\ если они не существуют.
Ipse San
Я так понимаю,что здесь Ссылка этот флаг не нужен.И ещё,я уже несколько раз спрашивал,почему при нажатии "изменить" в установке и удалении,выскакивает сообщение,что файл уже удалён,где у меня засада?Просто охота до ума всё довести.
Спасибо!
Я так понимаю,что здесь Ссылка этот флаг не нужен.И ещё,я уже несколько раз спрашивал,почему при нажатии "изменить" в установке и удалении,выскакивает сообщение,что файл уже удалён,где у меня засада?Просто охота до ума всё довести.
Спасибо!
baw17
Ты на корзину что-то вешаешь? Тогда можно будет написать так:
Код: [Registry]
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\StartCCleaner; ValueType: string; ValueData: Запустить СCleaner; Flags: uninsdeletekey
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\StartCCleaner\command; ValueType: string; ValueData: C:\Program Files\CCleaner\CCleaner.exe /AUTO; Flags: uninsdeletekey
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\OpenCCleaner; ValueType: string; ValueData: Открыть СCleaner; Flags: uninsdeletekey
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\OpenCCleaner\command; ValueType: string; ValueData: C:\Program Files\CCleaner\CCleaner.exe; Flags: uninsdeletekey
Ты на корзину что-то вешаешь? Тогда можно будет написать так:
Код: [Registry]
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\StartCCleaner; ValueType: string; ValueData: Запустить СCleaner; Flags: uninsdeletekey
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\StartCCleaner\command; ValueType: string; ValueData: C:\Program Files\CCleaner\CCleaner.exe /AUTO; Flags: uninsdeletekey
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\OpenCCleaner; ValueType: string; ValueData: Открыть СCleaner; Flags: uninsdeletekey
Root: HKCR; Subkey: CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\OpenCCleaner\command; ValueType: string; ValueData: C:\Program Files\CCleaner\CCleaner.exe; Flags: uninsdeletekey
Цитата:
почему при нажатии "изменить" в установке и удалении сообщение,что файл уже удалён
Dimbay, наверное, ты неправильно прописываешь путь в директиве AppModifyPath.
[Setup]
AppName=Change
AppVerName=Change
DefaultDirName={pf}\Change
AppModifyPath={app}\unins000.exe /LOG
Ipse San
fty
парни спасибо я разобрался что надо вначале ставить 2 {{ и в крнце 1 }
но тут вот незадача я использую вот эти строки
Код: Root: HKCR; Subkey: "CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Запустить CCleaner\command"; ValueType: string; ValueData: "C:\Program Files\CCleaner\CCleaner.exe /AUTO"; Flags:
Root: HKCR; Subkey: "CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Открыть CCleaner...\command"; ValueType: string; ValueData: "C:\Program Files\CCleaner\CCleaner.exe"; Flags:
fty
парни спасибо я разобрался что надо вначале ставить 2 {{ и в крнце 1 }
но тут вот незадача я использую вот эти строки
Код: Root: HKCR; Subkey: "CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Запустить CCleaner\command"; ValueType: string; ValueData: "C:\Program Files\CCleaner\CCleaner.exe /AUTO"; Flags:
Root: HKCR; Subkey: "CLSID\{{645FF040-5081-101B-9F08-00AA002F954E}\Shell\Открыть CCleaner...\command"; ValueType: string; ValueData: "C:\Program Files\CCleaner\CCleaner.exe"; Flags:
baw17
Странно. Тот код, что я дал подчищает все корректно, я проверил. И даже ветку Shell удаляет, если она пустая. Ты пробовал забить мой код "как есть"?
Странно. Тот код, что я дал подчищает все корректно, я проверил. И даже ветку Shell удаляет, если она пустая. Ты пробовал забить мой код "как есть"?
fty - спасибо за работу. Многим пригодится( в том числе и мне, как ламеру в Инно). Извиняюсь за офтоп, ежели что.
Ipse San
спасибо братан твой код работает, значит я немного был невнемателен
спасибо братан твой код работает, значит я немного был невнемателен
Создание резервной копии реестра.
Если ключа не существовало, новые значения сохраняться. Можно добавть флаг для удаления.
[more]
Код:
[Tasks]
Name: src; Description: "Создать резервную копию оригинальных файлов"
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{3E4B349F-10B5-4586-9D99-489A90A8B228}"; ValueType: string; ValueName: "InstallLocation"; ValueData: "{app}"; Flags: noerror; BeforeInstall: BackupReg('{3E4B349F-10B5-4586-9D99-489A90A8B228}');
;uninsdeletevalue - Удалять параметр при удалении программы
[Code]
// Резервная копия изменяемых записей реестра
procedure BackupReg(Subkey: String);
var
ResultCode: Integer;
BackUpDirS: String;
begin
If IsTaskSelected('src') then begin
BackUpDirS := ExpandConstant('{pf}\InstallShield Installation Information\') + Subkey
If Not DirExists (BackUpDirS) then
CreateDir(BackUpDirS);
Exec(ExpandConstant('{win}\regedit.exe'), '-ea backup.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + Subkey + '"', BackUpDirS, sw_HIDE, ewWaitUntilTerminated, ResultCode);
End;
end;
// Восставновление измененных записей реестра
procedure RestoreReg(Subkey: String);
var
ResultCode: Integer;
BackUpDirS: String;
begin
BackUpDirS := ExpandConstant('{pf}\InstallShield Installation Information\') + Subkey
If FileExists (BackUpDirS + '\backup.reg') then begin
RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'+Subkey)
Exec(ExpandConstant('{win}\regedit.exe'), '/s backup.reg', BackUpDirS, sw_HIDE, ewWaitUntilTerminated, ResultCode);
// MsgBox(IntToStr(ResultCode), mbError, MB_OK);
// ResultCode: 0 - все Ок, если файла нет тоже 0. Фактически проверка на наличие regedit.exe, но все же проверим:
If ResultCode=0 then
DeleteFile(BackUpDirS + '\backup.reg');
RemoveDir(BackUpDirS);
End;
end;
// --------- Функции деинсталлятора (события) ----------- //
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
ResultCode: Integer;
BackUpDirS: String;
begin
if CurUninstallStep = usPostUninstall then
RestoreReg('{3E4B349F-10B5-4586-9D99-489A90A8B228}');
end;
Если ключа не существовало, новые значения сохраняться. Можно добавть флаг для удаления.
[more]
Код:
[Tasks]
Name: src; Description: "Создать резервную копию оригинальных файлов"
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{3E4B349F-10B5-4586-9D99-489A90A8B228}"; ValueType: string; ValueName: "InstallLocation"; ValueData: "{app}"; Flags: noerror; BeforeInstall: BackupReg('{3E4B349F-10B5-4586-9D99-489A90A8B228}');
;uninsdeletevalue - Удалять параметр при удалении программы
[Code]
// Резервная копия изменяемых записей реестра
procedure BackupReg(Subkey: String);
var
ResultCode: Integer;
BackUpDirS: String;
begin
If IsTaskSelected('src') then begin
BackUpDirS := ExpandConstant('{pf}\InstallShield Installation Information\') + Subkey
If Not DirExists (BackUpDirS) then
CreateDir(BackUpDirS);
Exec(ExpandConstant('{win}\regedit.exe'), '-ea backup.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + Subkey + '"', BackUpDirS, sw_HIDE, ewWaitUntilTerminated, ResultCode);
End;
end;
// Восставновление измененных записей реестра
procedure RestoreReg(Subkey: String);
var
ResultCode: Integer;
BackUpDirS: String;
begin
BackUpDirS := ExpandConstant('{pf}\InstallShield Installation Information\') + Subkey
If FileExists (BackUpDirS + '\backup.reg') then begin
RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\'+Subkey)
Exec(ExpandConstant('{win}\regedit.exe'), '/s backup.reg', BackUpDirS, sw_HIDE, ewWaitUntilTerminated, ResultCode);
// MsgBox(IntToStr(ResultCode), mbError, MB_OK);
// ResultCode: 0 - все Ок, если файла нет тоже 0. Фактически проверка на наличие regedit.exe, но все же проверим:
If ResultCode=0 then
DeleteFile(BackUpDirS + '\backup.reg');
RemoveDir(BackUpDirS);
End;
end;
// --------- Функции деинсталлятора (события) ----------- //
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
ResultCode: Integer;
BackUpDirS: String;
begin
if CurUninstallStep = usPostUninstall then
RestoreReg('{3E4B349F-10B5-4586-9D99-489A90A8B228}');
end;
Что-то топик замер, придётся добавить сообщение...
Слайдшоу - В архиве 5 скриптов: 1) фоновый рисунок 2) слайдшоу 3) скринсевер 4) системные скринсэверы 5) проигрывание AVI-файла в фоне.
Обновил Corona Skin: изменено оформление страниц wpSelectDir и wpSelectProgramGroup.
Слайдшоу - В архиве 5 скриптов: 1) фоновый рисунок 2) слайдшоу 3) скринсевер 4) системные скринсэверы 5) проигрывание AVI-файла в фоне.
Обновил Corona Skin: изменено оформление страниц wpSelectDir и wpSelectProgramGroup.
Victor_Dobrov
Приветствую!Сделал,что-то типа маленького руководства.
Если есть возможность посмотри,вдруг где-нибудь накосячил.
Заранее благодарен.
Добавлено:
Victor_Dobrov
Приветствую!Сделал,что-то типа маленького руководства.
Если есть возможность посмотри,вдруг где-нибудь накосячил.
Заранее благодарен.
[more=вот][/more]
Приветствую!Сделал,что-то типа маленького руководства.
Если есть возможность посмотри,вдруг где-нибудь накосячил.
Заранее благодарен.
Добавлено:
Victor_Dobrov
Приветствую!Сделал,что-то типа маленького руководства.
Если есть возможность посмотри,вдруг где-нибудь накосячил.
Заранее благодарен.
[more=вот][/more]
Dimbay - ээ. Хотел тоже поглядеть твоё руководство, а там пусто...Редактируешь?
Добавлено:
[more=текст];Знак ; означает,что эта строка информационная и не будет задействована в компиляции.
[Setup]
;Основные директивы секции можно задать с помощью мастера,встроенного в программу.
AppName=MyMod
;Название мода.
AppVerName=MyMod версия 1.4
;Версия мода.Обязательно должна иметь значение AppName и номер версии.
DefaultDirName={pf}
;Выбор пути установки через "Обзор".В данном случае по умолчанию будет предложено установить программу в Program Files.Константа {pf}.
;Может иметь вид DefaultDirName={pf}\MyMod.
DefaultGroupName=MyMod
;Директива,которая определяет имя группы меню Пуск по умолчанию.
OutputDir=C:\Documents and Settings\user\Рабочий стол
;Куда будет помещен скомпилированный инсталлятор.
OutputBaseFilename=MyMod версия 1.4
;Задаётся имя получаемого инсталлятора.
Compression=lzma
;Метод сжатия.
SolidCompression=yes
;Уплотненное сжатие.
AppendDefaultDirName=no
;При значении yes,при выборе пути установки через "Обзор" автоматически добавляется папка с именем взятым из DefaultDirName.
;Например (при значении yes) DefaultDirName={pf}\MyMod,при выборе в "Обзоре" D:\Games получаем D:\Games\MyMod.
DirExistsWarning=no
;При значении yes инсталлятор всегда будет выдавать сообщение "Папка: … уже существует."Вы хотите продолжить установку в эту папку?" при попытке установки в существующую папку.
ShowComponentSizes=yes
;При значении yes будет показываться размер компонентов в списке выбора компонентов.
InfoBeforeFile="C:\Documents and Settings\User\Рабочий стол\Папка с файлами для инсталляции\MyInfoBefore.txt"
;В этом текстовике можете поместить нужную для устоновки информацию... .
;Будет отображаться перед страницей выбора папки установки в окне инсталлятора.
;Файл MyInfoBefore.txt связан с секцией [Files].
[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
;Выбор языка.Без этой секции,язык интерфейса мастера установки будет английский.
[Files]
Source: "C:\Documents and Settings\User\Рабочий стол\Папка с файлами для инсталляции\MyInfoBefore.txt"; DestDir: "{app}"
;Source: Полный путь,откуда берётся файл для компиляции.
;DestDir: Куда должен установиться файл в системе пользователя.
;Константа "{app}" означает,что папка,куда должен установиться файл выбирается пользователем в окне выбора папки назначения.
;В данном примере константе "{app}" будет присвоено значение "D:\Games\SEGA\Medieval II Total War"(D:-диск пользователя,где установлена игра).
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs overwritereadonly
;Знак * означает,что из папки \data\ берутся все файлы.
;Flags: ignoreversion Установить файл,который уже установлен в системе пользователя.Перемещает существующие файлы,не обращая внимание на номера версий.
;Flags: recursesubdirs Указывает искать файлы с тем же именем в подпапках папки,указанной в параметре Source.
;Flags: overwritereadonly Всегда перезаписывает файл с отметкой "только для чтения".
;Все флаги подробно описаны в хелпе,который идёт с программой.
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\MyMod\*"; DestDir: "{app}\MyMod"; Flags: ignoreversion recursesubdirs overwritereadonly
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\MyMod.cfg"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\export_descr_buildings.txt"; Components: A; DestDir: "{app}\MyMod\data\"; Flags: ignoreversion recursesubdirs overwritereadonly
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\descr_strat.txt"; Components: A; DestDir: "{app}\MyMod\data\world\maps\campaign\imperial_campaign\"; Flags: ignoreversion recursesubdirs overwritereadonly
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\export_descr_unit.txt"; Components: A; DestDir: "{app}\MyMod\data\"; Flags: ignoreversion recursesubdirs overwritereadonly
;Компоненты,которые пользователь может установить на выбор.В данном случае все три файла принадлежат одному компоненту А,который описан в секции [Components].
[Icons]
Name: {userdesktop}\MyMod.exe; Filename: "{app}\medieval2.exe"; Parameters: " @MyMod.cfg"; WorkingDir: "{app}"; Tasks: DesktopIcon
;Name: Имя и расположение создаваемого ярлыка.В данном примере ярлык MyMod.exe будет помещен на рабочем столе,константа{userdesktop}.В свойствах ярлыка получаем "D:\Games\SEGA\Medieval II Total War\medieval2.exe" @MyMod.cfg
;Filename: Полный путь к файлу, на который указывает ярлык.
;Parameters: Параметры командной строки для ярлыка.
;WorkingDir: Папка,из которой запускается программа.
;Tasks: Вызывает задание,описанное в секции [Tasks].
Name: {userdesktop}\Удалить MyMod.exe; Filename: "{app}\unins000.exe"; WorkingDir: "{app}"; Tasks: DesktopIcon
[Tasks]
Name: src; Description: "Сохранить оригинальные файлы игры"; Flags: exclusive
;Делаем Backup через секцию [Code].
;Description: Описание компонента.
;Flags: exclusive Пользователь не сможет отменить выбор этого пункта.
Name: "DesktopIcon"; Description: "Создать ярлык MyMod на рабочем столе"; Flags: unchecked
Name: "DesktopIcon"; Description: "Создать ярлык удалить MyMod на рабочем столе"; Flags: unchecked
;Flags: unchecked По умолчанию компонент не будет выбран(галочка снята).
[Types]
;Секция определяет типы установки.
Name: "viborochnaya"; Description: "Выбрать компоненты"; Flags: iscustom
;Flags: iscustom Указывает инсталятору,что тип является выборочным.
[Components]
Name: "A"; Description: "Обычные цены на строительство и юнитов"; Types: viborochnaya
[Code]
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';
procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
begin
if IsTaskSelected('src') then
begin
basePath := ExpandConstant('{app}');
srcFile := ExpandConstant(CurrentFileName);
shortPath := srcFile;
StringChangeEx(shortPath, basePath, '', True);
destFile := ExpandConstant('{app}\Backup') + shortPath;
ForceDirectories(ExtractFilePath(destFile));
MoveFile(PChar(srcFile), PChar(destFile));
end;
end;
;Vatu NeCatanen.Специально для www.tw.org.ua[/more]
Dimbay, посмотрел Руководство. Навскидку, кавычки в:
[Languages] Name: "rus" ; InfoBeforeFile ; [Files] Source: ; [Tasks] Name: ; [Types] Name:...
ставить не нужно, ведь параметры и так отделяются точкой с запятой.
Если пользоваться ISTool, многие комментарии не нужны... (секцию [Code] рекомендую править в SciTE)
P.S. Не советую держать файлы проекта на Рабочем столе, лучше использовать другой раздел или отдельный диск.
[Languages] Name: "rus" ; InfoBeforeFile ; [Files] Source: ; [Tasks] Name: ; [Types] Name:...
ставить не нужно, ведь параметры и так отделяются точкой с запятой.
Если пользоваться ISTool, многие комментарии не нужны... (секцию [Code] рекомендую править в SciTE)
P.S. Не советую держать файлы проекта на Рабочем столе, лучше использовать другой раздел или отдельный диск.
Victor_Dobrov
Понял,поправим.
Данке щён)
Понял,поправим.
Данке щён)
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Поиск в WinDjView
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.