2010-12-07 3 views
2

Я ищу несколько примеров проекта wix со ссылкой на .NET dll (полный проект VSX VS, проект VSA VS.net и скомпилированный .net dll).Wix и пользовательский .net dll

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

Я создал проект wix в VS, .net dll project в VS, скомпилировал проект dll, скопировал над CheckPidPackage.dll, чтобы создать каталог проекта VS и скомпилировать проект wix. и я получаю эту ошибку.

ответ

1

Для меня это был мой CustomAction DllEntry не соответствует моему имени метода. т.е.

<CustomAction Id="CheckingPID" BinaryKey="CheckPID.CA" DllEntry="BadValue" /> 

public static ActionResult CheckPID(Session session) 
+1

Ничего себе. Синтаксическая ошибка с моей стороны. d'oh! ... Спасибо за сообщение! – granadaCoder 2017-02-03 19:36:43

4

Link упоминается в общепринятом ответе (по user431821) был действительно полезным, но проводка точной вещи, которая была полезной для меня.

Проект пользовательских действий создает 2 dlls. Если проект CustomActionProject, это создаст CustomActionProject.dll и CustomActionProject.CA.dll

я ссылки на CustomActionProject.dll, как показано ниже, регулярная длл.

<Binary Id="CustomActionProject" 
    src="..\CustomActionProject\bin\$(var.Configuration)\CustomActionProject.dll" /> 
<CustomAction Id="MyAction" 
    Return="check" 
    BinaryKey="CustomActionProject"     
    DllEntry="Validate"/> 

WIX создает CustomActionProject.CA.dll, которая на самом деле НЕ .NET удалось сборку, но неуправляемый узел. Поэтому мы должны ссылаться на него вместо обычного.

<Binary Id="CustomActionProject" 
    src="..\CustomActionProject\bin\$(var.Configuration)\CustomActionProject.CA.dll" /> 
<CustomAction Id="MyAction" 
    Return="check" 
    BinaryKey="CustomActionProject"     
    DllEntry="Validate"/> 

Это решило мою проблему.

+0

Боковой вопрос. Как вы устанавливаете переменную «$ (var.Configuration)», чтобы правильно выбрать Debug или Release? – granadaCoder 2017-02-03 20:22:41

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