Скрипты Inno Setup. Помощь и советы [часть 8]

Ответить
 • Просмотры: 57
Аватара пользователя
ZVSRus

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение ZVSRus »

Цитата habib2302:



Доброе время суток. Помогите с кодом. Пытаюсь выполнить удаление файлов через unlocker, но происходит "exit code: 1" после запуска
Скрипты Inno Setup. Помощь и советы [часть 8]




Дружище, зачем такой изврат? Все банальнее и проще:

Код:

Код: Выделить всё

[_Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  ErrorCode: Integer;
begin
  case CurUninstallStep of
    usPostUninstall:
     begin
     //отмена регистрации *.dll
     Exec(ExpandConstant('{sys}')+'\regsvr32.exe', '/u /s ' + ExpandConstant('{pf}') + '\WinRar\RarExt.dll', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
    //освобождаем dll-ку перезапуском Проводника 
     Exec('cmd', '/C WMIC PROCESS WHERE Name="explorer.exe" delete & WMIC PROCESS WHERE Name="explorer.exe" call SetPriority 64', '', sw_hide, ewWaitUntilTerminated, ErrorCode);
     //Exec('cmd', '/C WMIC PROCESS WHERE Name="explorer.exe" CALL Terminate', '', sw_hide, ewWaitUntilTerminated, ErrorCode); // либо этот вариант
    //далее удаляем папки, файлы
    end; 
end;

В любом случае, Unlocker при выполнении команды принудительно перезапустит оболочку Проводника. Так что лишние телодвижения ни к чему.
Аватара пользователя
Dodakaedr

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение Dodakaedr »

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

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение ZVSRus »

Dodakaedr, Как правильно сделать чтобы ярлыки реально закреплялись на панели задач и в меню пуск
Аватара пользователя
Nordek

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение Nordek »

Цитата ZVSRus:



Файл (DLL) добавлен в дистрибутив отдельно для регистрации.
Скрипты Inno Setup. Помощь и советы [часть 8]




Смотрите флаг regserver - При установке регистрирует, при деинсталляции отменяет регистрацию.

Т.е:



Код:

Код: Выделить всё

[Files]
Source: example.dll; DestDir: {app}; Flags: regserver
Аватара пользователя
Nordek

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение Nordek »

Цитата Nordek:



Source: example.dll; DestDir: {app}; Flags: regserver



Результат нулевой. Деинстоллятором не удаляется. Вручную легко.

Когда msimg32.dll находится в папке с программой, программа становится зарегестрированной.

Если ее убрать программа не зарегестрирована.

Прога Light Image Resizer 4.7.6.1
Аватара пользователя
МИШАНЧИК

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение МИШАНЧИК »

ZVSRus,
Цитата ZVSRus:



Наверное надо как-то через скрипт.
Скрипты Inno Setup. Помощь и советы [часть 8]






Код:

Код: Выделить всё

Procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if (CurUninstallStep = usPostUninstall)  then
UnloadDLL(ExpandConstant('{app}\msimg32.dll'));
DeleteFile(ExpandConstant('{app}\msimg32.dll'));
end;
Аватара пользователя
Dodakaedr

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение Dodakaedr »

Цитата TryRooM:



Наверное надо как-то через скрипт



DLL,ка удалилась но остались папки в которой она находилась.

наверное надо что-то дописать к процедуре.
Аватара пользователя
МИШАНЧИК

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение МИШАНЧИК »

Цитата ZVSRus:



msimg32.dll
Скрипты Inno Setup. Помощь и советы [часть 8]




GDIEXT Client DLL уже есть и в Windows XP и в Windows 7 в папке System32.




Цитата ZVSRus:



наверное надо что-то дописать
Скрипты Inno Setup. Помощь и советы [часть 8]






Код:

Код: Выделить всё

DelTree(ExpandConstant('{app}'), True, True, True);
Аватара пользователя
ZVSRus

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение ZVSRus »

Какой Flags нужно подставить чтобы эти две папки устанавливались в данных директориях, но их не было видно,

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





Код:

Код: Выделить всё

Source: C:\Installer\Roaming\ACD Systems\ImageDB\*; DestDir: {userappdata}\ACD Systems\ImageDB; Flags: ignoreversion recursesubdirs createallsubdirs; Check: RusLang and InstallerCheck
Source: C:\Installer\CommonAppData\ACD Systems\*; DestDir: {commonappdata}\ACD Systems; Flags: ignoreversion recursesubdirs createallsubdirs; Check: RusLang and InstallerCheck
Ответить

Вернуться в «Автоматическая установка приложений»