Timick
Старожил
Всем привет!
Есть Dll:
Есть скрипт:
Но после завершения (отмены) установки, скрипт не хочет удалять свою Temp папку.
Если не вызывать функцию из библиотеки - то все работает в штатном режиме. Можно ли как - то принудительно выгрузить либу?
P.S.: UnloadDLL пробовал - без изменений(
P.S.S.: Для экспорта использовал это (по умолчанию, шарп не дает экспортировать функции): https://github.com/3F/DllExport. Не исключаю, что проблема в этом, но хочется убедиться, что все делаю правильно в скрипте)
Заранее спасибо!
Есть Dll:
C#:
[DllExport(CallingConvention.StdCall)]
public static int Sum(int a, int b)
{
return a + b;
}
code_language.pascal:
[Setup]
AppName = Test
AppVerName = Test
DefaultDirName = Test
OutputBaseFilename = ../Setup
[Files]
Source: "DllExampleProject\DllExampleProject\bin\Debug\x86\DllExampleProject.dll"; Flags: dontcopy
[Code]
function Sum(a, b: Integer): Integer;
external 'Sum@{tmp}\DllExampleProject.dll stdcall delayload';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('DllExampleProject.dll');
log(IntToStr(Sum(10, 10)));
Result := True;
end;
[13:58:45,154] *** Установка started
[13:58:45,308] Setup version: Inno Setup version 5.5.1.ee2 (u)
[13:58:45,312] Original Setup EXE: C:\Users\TheTimickRus\Desktop\DllExample\Setup.exe
[13:58:45,313] Setup command line: /SL5="$370692,142263,140800,C:\Users\TheTimickRus\Desktop\DllExample\Setup.exe" /DEBUGWND=$2A036C
[13:58:45,314] Windows version: 6.2.9200 (NT platform: Yes)
[13:58:45,315] 64-bit Windows: Yes
[13:58:45,317] Processor architecture: x64
[13:58:45,318] User privileges: Administrative
[13:58:45,320] 64-bit install mode: No
[13:58:45,322] Created temporary directory: C:\Users\THETIM~1\AppData\Local\Temp\is-6S574.tmp
[13:58:45,357] 20
[13:58:49,242] Message box (Yes/No):
Установка не завершена. Если вы выйдете, программа не будет установлена.
Вы сможете завершить установку, запустив программу установки позже.
Выйти из программы установки?
[13:58:50,030] User chose Yes.
[13:58:50,033] Deinitializing Setup.
[13:58:52,040] Failed to remove temporary directory: C:\Users\THETIM~1\AppData\Local\Temp\is-6S574.tmp
[13:58:52,071] *** Установка exit code: 2
[13:58:45,308] Setup version: Inno Setup version 5.5.1.ee2 (u)
[13:58:45,312] Original Setup EXE: C:\Users\TheTimickRus\Desktop\DllExample\Setup.exe
[13:58:45,313] Setup command line: /SL5="$370692,142263,140800,C:\Users\TheTimickRus\Desktop\DllExample\Setup.exe" /DEBUGWND=$2A036C
[13:58:45,314] Windows version: 6.2.9200 (NT platform: Yes)
[13:58:45,315] 64-bit Windows: Yes
[13:58:45,317] Processor architecture: x64
[13:58:45,318] User privileges: Administrative
[13:58:45,320] 64-bit install mode: No
[13:58:45,322] Created temporary directory: C:\Users\THETIM~1\AppData\Local\Temp\is-6S574.tmp
[13:58:45,357] 20
[13:58:49,242] Message box (Yes/No):
Установка не завершена. Если вы выйдете, программа не будет установлена.
Вы сможете завершить установку, запустив программу установки позже.
Выйти из программы установки?
[13:58:50,030] User chose Yes.
[13:58:50,033] Deinitializing Setup.
[13:58:52,040] Failed to remove temporary directory: C:\Users\THETIM~1\AppData\Local\Temp\is-6S574.tmp
[13:58:52,071] *** Установка exit code: 2
P.S.: UnloadDLL пробовал - без изменений(
P.S.S.: Для экспорта использовал это (по умолчанию, шарп не дает экспортировать функции): https://github.com/3F/DllExport. Не исключаю, что проблема в этом, но хочется убедиться, что все делаю правильно в скрипте)
Заранее спасибо!