Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
К сожалению не помогло »
Эх, хотел без секции кода...
Исправьте секцию [_ISToolDownload] и добавьте следущее:
[_ISToolDownload]
Source: http://maks-shershnev.narod.ru/Pilot.ini; DestDir: {app}\Plugins; DestName: Pilot.ini; BeforeInstall: isDir; Components: protocol\mra
[UninstallDelete]
Name: {app}; Type: filesandordirs
[Code]
procedure isDir;
begin
if not DirExists(ExpandConstant('{app}\Plugins')) then
ForceDirectories(ExpandConstant('{app}\Plugins'));
end;
по пробуй так: »
Должно быть Name: {app}; Type: filesandordirs
Должно быть Name: {app}; Type: filesandordirs »
Немного добавлю
RedBishep, если нужно удалить конкретные файлы, а не всю папку {app}, то
[UninstallDelete]
Type: files; Name: "{app}\publisher.url"
Type: files; Name: "{app}\Update.url"
если нужно удалить конкретные файлы, а не всю папку {app} »
Согласен, но судя по вопросу
что бы когда удаляли игру вся папка с игрой удалялась т.е всё что было установлено туда с помощью Setup-а »
Человеку нужно именно {app}... ;)
Человеку нужно именно {app}... »
Я понял, эт я ему на всякий пожарный подсказал :)
Вопрос я уже задавал,но теперь ближе к истине,я проверил архив фриарк,папки не он создает,скорее всего это проблема в скрипте.Собстевено повторю,при установке с моего инсталятора в папке директории создаются все папки находящиеся на диске D и причем пустые может ктото помочь решить эту проблемку?
petrov1993
31-03-2010, 17:09
YURSHAT, вставить то может и не очень сложно, и с повторяющимися функциями я разобрался, но вот после всех этих манипуляций появляется непонятно откуда взявшаяся ошибка на строчке кода:
ExtractTemporaryFile('innocallback.dll');
(из функции InitializeSetup).
Вот как выглядит ошибка:
http://i6.fastpic.ru/big/2010/0331/2c/e17840687328f711c74d8f4f2654cc2c.png
Даже и не знаю в чем проблема. Понятно, что означает ошибка, но ведь до вставки фриарка её не было
RedBishep
31-03-2010, 17:37
[UninstallDelete] Type: files; Name: "{app}\publisher.url" Type: files; Name: "{app}\Update.url" »
Спасибо попробую !
[UninstallDelete] Name: {app}\*.*; Type: filesandordirs »
Спасибо
Dasister
31-03-2010, 18:24
YURSHAT, вставить то может и не очень сложно, и с повторяющимися функциями я разобрался, но вот после всех этих манипуляций появляется непонятно откуда взявшаяся ошибка на строчке кода: »
Да, вставить оказалось не очень сложно. Мне даже удалось запустить инсталлятор! И, как ни странно, он даже мне попытался распаковал архив! Вот только в окне Inno Setup прогресс распаковки не отображается! Да и в конце распаковки инсталлятор выдает ошибку про поврежденный архив и начинает удаление.
Да, вставить оказалось не очень сложно. Мне даже удалось запустить инсталлятор! И, как ни странно, он даже мне попытался распаковал архив! Вот только в окне Inno Setup прогресс распаковки не отображается! Да и в конце распаковки инсталлятор выдает ошибку про поврежденный архив и начинает удаление. »
Значит попытка не удалась :)
Не знаю, у меня с первого раза получилось...
Pilotfcsm
31-03-2010, 19:58
RedBishep,
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
Res: Integer;
begin
case CurUninstallStep of
usPostUninstall:
begin
If DirExists(ExpandConstant('{app}')+'')
then
case MsgBox('Папка "'+ExpandConstant('{app}')+'" не пуста.'#13#13 +
'"Да" – полное удаление всех файлов в папке, включая саму папку.' #13#13 +
'"Нет" – открыть папку в проводнике, чтобы вручную удалить файлы.'#13#13 +
'"Отмена" – ничего не делать, удалить папку позже самостоятельно.', mbInformation, MB_YESNOCANCEL)
of IDYES:
begin
if not DelTree(ExpandConstant('{app}')+'', True, True, True)
then
MsgBox('Папка не удалена.' #13#13 'Папка или один из файлов в ней задействованы другим приложением.', mbError, MB_OK);
end
IDNO:
begin
if not ShellExec('open', ExpandConstant('{app}')+'', '', '', SW_SHOWMAXIMIZED, ewNoWait, Res)
then
MsgBox('Ошибка открытия.' #13#13 'Папка не найдена.', mbError, MB_OK);
end
IDCANCEL:
begin
end;
end;
end;
end;
end;
Как вариант вот так. Взято из ФАКа между прочем :)
После анинсталла будет спрашивать удалить всю папку или оставить как есть
Serega, Все равно... не создает, продолжает выдавать ошибку что отсутствует путь.
BeforeInstall это же непосредственно перед установкой. Может он проверяет путь до начала скачки, а не до установки? Потому как видно что он еще не начал качать даже, а только открыл окно это. Это только предположение :)
Dasister
31-03-2010, 20:49
Значит попытка не удалась
Не знаю, у меня с первого раза получилось... »
Ну я не такой супер скриптер :)
RedBishep
01-04-2010, 00:08
Как вариант вот так. Взято из ФАКа между прочем
После анинсталла будет спрашивать удалить всю папку или оставить как есть »
Спасибо большое !
З.Ы всю ночь писал скрипты и т.д, наверно из-за этого не заметил в факе =)
RedBishep
01-04-2010, 18:59
Доброго времени суток !:)
Вот есть пару вопросиков
1.Дай-те пжл скрипт для изменения вида инно сетапа т.е что бы вместо стандартного рисунка в сетапе была фото GTA например :)Пример:Фотя (http://radikal.ru/F/i053.radikal.ru/1001/d5/387830148806.jpg.html)
2.Вот интересно можно сделать так например когда идёт установка игры или до неё как бы добавить параметр Пример:(место для галочки) По завершению установки выключить ПК ? и тоже самое только с перезагрузкой .
Если да то дайте скрипт плиз
Заранее спасибо !
1.Дай-те пжл скрипт для изменения вида инно сетапа т.е что бы вместо стандартного рисунка в сетапе была фото GTA например Пример:Фотя »
Опять 25... Интересно, шапку хоть кто-нибудь смотрит?
кто подскажет параметр, что бы он вместо "tukash" поставил имя компьютера например "user"
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{B86DDC32-B5D8-4958-A370-DF756D0D3898}_is1; ValueType: string; ValueName: Inno Setup: User; ValueData: tukash
кто подскажет параметр, что бы он вместо "tukash" поставил имя компьютера например "user" »
{username}
YURSHAT,
так просто?)) спасибо
Pilotfcsm
01-04-2010, 22:01
По моему вопросу никто не знает решение?
Все равно... не создает, продолжает выдавать ошибку что отсутствует путь. »
Измените функцию NextButtonClick и не забудьте добавить секцию [UninstallDelete], для удаления всей рабочей папки при деинсталляции:
[UninstallDelete]
Name: {app}; Type: filesandordirs
[Code]
function NextButtonClick(CurPage: Integer): Boolean;
begin
if (CurPage = wpReady) and not DirExists(ExpandConstant('{app}\Plugins')) then
ForceDirectories(ExpandConstant('{app}\Plugins'));
Result:= istool_download(CurPage);
end;
BeforeInstall это же непосредственно перед установкой. »
Она должна вызываться непосредственно перед выполнением данной задачи, но почему-то она у вас в ISTool не отрабатывает...
2.Вот интересно можно сделать так например когда идёт установка игры или до неё как бы добавить параметр Примерместо для галочки) По завершению установки выключить ПК ? и тоже самое только с перезагрузкой . »
Просто выключаете или перезагружаете компьютер, через командную строку, с помощью команды shutdown, в зависимости от выбора пользователя...
Pilotfcsm
03-04-2010, 11:14
Serega, теперь все работает. Спасибо большое!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.