Я использую установщик VS2008 (плюс пользовательское действие Orca), чтобы создать установщик для моего продукта .NET.
Я только недавно обнаружил, что одна из сторонних сборок, которую я использовал, специфична для x86 (так как она включает некоторый нативный код); таким образом, клиенты x64 получали сбои при запуске с ошибками о том, что сборка не подходит для их платформы.
Я отправил такому клиенту копию x64-версии этой сторонней сборки и сказал ему просто скопировать ее поверх существующей x86-версии. Это сработало, сладко! Так что теперь мне просто нужно, чтобы установщик сделал это для меня.
На самом деле это выглядит нетривиально :( В идеале, я просто хочу, чтобы установщик (который был бы x86, так как он мог бы работать на обеих платформах) включал в себя как x86, так и x64 версии этой сторонней сборки и устанавливал соответствующую 1. Другими словами, я хочу один установщик, который облегчит жизнь моим пользователям.
Я думал, что все получилось, используя условные выражения MSI и все такое. Но, очевидно, нет ... проекты установки VS2008 не будут компилироваться, если вы не укажете "x86" или "x64". Если вы укажете x86, он выдаст ошибку компиляции, заявив, что не может включать сборку x64. Если вы укажете x64, то результат не может быть выполнен на компьютере x86. Черт!
Кто-то, должно быть, имел эту проблему раньше. К сожалению, Google бесполезен, поэтому я перехожу к StackOverflow!