Как использовать внешнюю функцию в Innosetup с зависимостями? [Дубликат]

Очищено пример @Deleet

from collections import Iterable

def flatten(l, a=[]):
    for i in l:
        if isinstance(i, Iterable):
            flatten(i, a)
        else:
            a.append(i)
    return a

daList = [[1,4],[5,6],[23,22,234,2],[2], [ [[1,2],[1,2]],[[11,2],[11,22]] ] ]

print(flatten(daList))

Пример: https://repl.it/G8mb/0

1
задан Deanna 25 September 2012 в 13:27
поделиться

1 ответ

Когда программа установки запущена, Inno имеет доступ к содержимому этой установки и поэтому может извлекать любые файлы, необходимые с использованием синтаксиса files:file1.dll,file2.dll.

В момент удаления Inno больше не имеет доступа к содержимое установки, поэтому вам нужно полагаться на все, что вы извлекли во время установки, используя обычную запись [Files]. Из-за этого он больше не заботится о зависимостях и оставляет это до вас.

[Files]
Source: "StatisticInstallInfo.dll"; DestDir: "{app}"
Source: "adcore.dll"; DestDir: "{app}"

[Code]
procedure Installed();
external 'Installed@files:StatisticInstallInfo.dll,adcore.dll cdecl setuponly';

procedure Uninstalled();
external 'Uninstalled@{app}\StatisticInstallInfo.dll cdecl uninstallonly';

В зависимости от того, когда вы вызываете эту функцию (если после самой установки) вы можете отказаться от синтаксиса files:... и просто используйте {app}\StatisticInstallInfo.dll в обоих случаях.

4
ответ дан Deanna 25 August 2018 в 01:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: