Можно ли подписать проект Wix Custom Action?

Мы используем Wix для проекта установки, и в нем есть один отдельный проект CustomAction. У проекта CustomAction (со строгой подписью) есть ссылка на один зависимый проект (называемый ProjA), который строго подписан.

Case1 # Оба проекта Custom Action и ProjA подписываются, после чего появляется следующая ошибка. Не удалось загрузить файл или сборку XXX.CustomAction, Version = 2.5.2.0, Culture = нейтральный, PublicKeyToken = XXXXXXXXX 'или одну из его зависимостей. Ошибка проверки строгого имени. (Исключение из HRESULT: 0x8013141A).

Case2 #. Если мы удалили строго подписанный проект Custom Action и сохраним подпись ProjA, мы получим следующую ошибку: Не удалось загрузить файл или сборку XXX.ProjA, Version = 2.5.2.0, Culture = нейтральный, PublicKeyToken = XXXXXXXXX 'или одну из его зависимостей. Ошибка проверки строгого имени. (Исключение из HRESULT: 0x8013141A).

Случай 3 #. Если мы удалили строго подписанный проект как из проекта Custom Action, так и из проекта ProjA, установка будет выполнена успешно. Итак, мы ждем разрешения дела №1.

У кого-нибудь есть идеи по этому поводу?


person mit    schedule 27.01.2017    source источник


Ответы (1)


Начните с прочтения этого фона о том, как работает DTF:

http://blog.deploymentengineering.com/2008/05/deployment-tools-foundation-dtf-custom.html

Когда вы переименовываете упакованную DLL CA в .zip и просматриваете ее содержимое, вы, скорее всего, не увидите там свои подписанные DLL.

Прошло некоторое время с тех пор, как я сделал это, но я думаю, что это связано с поведением сборки по умолчанию SfxCA в отношении попытки решить, что он должен, а что не должен упаковывать. (Скажем, у вас есть DLL, да, другая DLL - да, system.dll - нет), и я думаю, что это учитывает подписание кода. Установите флажок CopyLocal (true | false) на вашем отпечатке и перестройте / перепроверьте, используя технику zip.

person Christopher Painter    schedule 27.01.2017