У меня есть установщик WIX, который вызывает два пользовательских действия C #.
Первый запускает подпрограмму для загрузки сеанса WIX со значениями по умолчанию в приглашениях GUI для настроек приложения.Затем GUI запрашивает у пользователя во время установки новые значения, которые сохраняют предоставленные настройки для сеанса.Это работает очень хорошо, и затем пользователю показываются подсказки во время запуска установщика.
Однако после InstallFinalize должно быть выполнено другое настраиваемое действие, чтобы принять эти сохраненные настройки и записать их в базу данных и реестр.У меня есть внешняя библиотека, которую я написал, которая обрабатывает соединение с базой данных, и это настраиваемое действие пытается загрузить ее и использовать, отказав со следующей ошибкой:
Exception thrown by custom action:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'myCompany.PortalLib, Version=2.9.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'myCompany.PortalLib, Version=2.9.0.0, Culture=neutral, PublicKeyToken=null'
at WIXCustomActions.CustomActions.SetBCAConfigOptions(Session session)
Подробности:
- Проект VS, содержащий функции настраиваемого действия, ссылается на myCompany.PortalLib.
- код настраиваемого действия csharp имеет директиву «using myCompany.PortalLib».
- Установщик WIX, который блокирует эту проблему, ссылается на myCompany.PortalLib.
- Я даже пытался добавить копию скомпилированного файла myCompany.PortalLib.dll в установщик WIX, но безрезультатно.
- команда makefxca ссылается (/ r) на myCompany.PortalLibФайл .dll вместе с выходом microsoft.deployment.windowsinstaller.dll при сборке проектом Custom Action и при запуске показывает, что он включен в выходной пакет.
Необходимо получитьнастраиваемые действия для использования myCompany.POrtalLib для возможности записи в базу данных сервера ...
UPDATE: Я попытался включить файл .dll в WIX вместе с упакованным .dll для пользовательских действий и сослаться на него внутри XML как таковой (добавив «[» для угловых скобок HTML):
[Binary Id = "myCompany.PortalLib.dll" SourceFile = "myCompany.PortalLib.dll" /]
... и я ВСЕ ЕЩЕ получаю ошибку "Не удалось загрузить файл или сборку"выше: (.