Модиинг MSI в Орке

У меня есть проект, который имеет DLL DLL sqlite (32-разрядный и 64-разрядный). MSI создан из Visual Studio 2010, проблема в том, что VS обнаруживает наличие 64-битной библиотеки DLL и, поскольку она предназначена для платформы x86,VS выдает ошибку, говоря, что она не может скопировать 64-битную библиотеку DLL, поскольку она предназначена для x86. Когда я изменяю платформу на x64, она работает нормально, но MSI, очевидно, не будет работать на машинах x86. Я не хочу создавать 2 MSI. Я знаю, что ORCA можно использовать для модификации MSI, а также все мои проекты в решении нацелены на любой процессор. Единственная проблема заключается в MSI. Кто-нибудь может объяснить, как я изменяю MSI, используя Orca, чтобы он работал и на x86?

2 ответа

Я фактически распаковал мою dll, используя класс deflatestream в.net, и накачал ее до нормального состояния на стороне клиента. Это прекрасно работает для меня

MSI может развертываться как в x64, так и в x86. Это действительно зависит от атрибута компонента. Если вы поместите dll в компонент, имеющий атрибут 256, то он перейдет в 64-битное местоположение. Вы можете добавить 8 к этому. Пожалуйста, смотрите подробности об атрибутах компонентов здесь:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa368007(v=vs.85).aspx

Другие вопросы по тегам