Я пытаюсь создать msi с помощью Wix, и папка установки использует заданную структуру, в этом случае поместите сторонние dll в подпапку с именем lib.
Проблема в том, что MyApplication.exe падает. Отладка сообщила мне, что не может найти Interactions.dll. Если я помещаю dll в INSTALLFOLDER, а не в подпапку, она работает нормально.
<Feature Id="ProductFeature" Title="MyApplication" Level="1">
<ComponentGroupRef Id="Executable"/>
<ComponentGroupRef Id="ProductComponents"/>
</Feature>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="Organisation" Name="OrganizationFolder">
<Directory Id="INSTALLFOLDER" Name="MyApplication">
<Directory Id="lib" Name="lib"/>
</Directory>
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="Executable" Directory="INSTALLFOLDER">
<Component Id="MyApplication.exe" Guid="*">
<File Id="MyApplication.exe" Name="MyApplication.exe" Source="$(var.MyApplication_TargetDir)MyApplication.exe" Vital="yes" />
</Component>
</ComponentGroup>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="lib">
<Component Id="Microsoft.Expression.Interactions.dll" Guid="*">
<File Id="Microsoft.Expression.Interactions.dll" Name="Microsoft.Expression.Interactions.dll" Source="$(var.MyApplication_TargetDir)Microsoft.Expression.Interactions.dll" />
</Component>
</ComponentGroup>
</Fragment>