2015-09-07 2 views
0

Мне нужно выполнить одну DLL во время установки пакета MSI. DLL создаст DSN. Я добавил для этого пользовательское действие.Ошибка пользовательского действия WIX

<Binary Id="CustomActionBinary" SourceFile="C:\MemDbDrv_3010.dll"/> 
    <CustomAction Id="CustomActionId" BinaryKey="CustomActionBinary" DllEntry="SelfInstall" Execute="immediate" Return="check" /> 

    <InstallExecuteSequence> 
     <Custom Action="CustomActionId" Before='InstallFinalize'/> 
    </InstallExecuteSequence> 

Он компилируется в порядке. Но при установке пакета я получаю ошибку ниже «Существует проблема с этим пакетом установщика Windows. DLL, необходимая для завершения этой установки, не может быть запущена. Обратитесь к вашему персоналу службы поддержки или поставщику пакета« Можете ли вы, пожалуйста, помочь может быть разрешением

ответ

0

Ваше пользовательское действие разбилось или не загружалось, поэтому вам может потребоваться сказать, на каком языке он находится, и беспокоиться о недостающих зависимостях, или даже показать код, если вы ничего не получите с этим. Однако:

  1. Непосредственные пользовательские действия запускать перед установкой ничего, так что если у него есть какие-либо зависимый DLLS тогда они еще не установлен.

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

  3. Он не будет работать как незамедлительно, поэтому, если ему нужна привилегия для работы, он будет терпеть неудачу. Отложенные CA запускаются с учетной записью системы, если они олицетворяют = нет, так что это может быть то, что вам нужно.

Смежные вопросы