WiX DLL встраивание
Я пытаюсь встроить.dll в установщик wix, который используется другими библиотеками во время установки, но не будет установлен в системах клиента.
У меня сейчас есть
<Binary Id="AutomationUtils" SourceFile="AutomationUtils\bin\Release\AutomationUtils.dll" />
...
<CustomAction Id="Install" BinaryKey="InstallUILib" DllEntry="AutomationUtils;RunInstallerDLL" Return="check" Execute="deferred" />
но даже если я удалю другой.dll - WiX отказывается признать существование AutomationUtils ... даже если он работает нормально (но падает при попытке запустить его).
1 ответ
BinaryKey='InstallUILib'
будет относиться к Binary
элемент с Id='InstallUILib'
, CustomAction/@DllEntry
атрибут - это имя точки входа функции в пользовательское действие.dll в Binary
элемент. Это имя нуждается в том, чтобы ::GetProcAddress() мог получить к нему доступ. Я уверен, что функция с именем AutomationUtils;RunInstallerDLL
не является действительным.
Если вы хотите выполнить настраиваемое действие управляемого кода (где вам, вероятно, нужно несколько DLL-файлов), эта статья подойдет. В противном случае, если вы создаете собственное настраиваемое действие, я рекомендую создать один.dll.