Учитывая установщик, созданный с помощью проекта установки VS2010, я хотел бы заменить .NET DLL на другой без изменения имени.
Я уже изменяю файл msi
в соответствии с этот вопрос, заменив содержимое записи в "двоичной" таблице.
Я нашел файл, о котором идет речь, с помощью Orca. Он находится в единственном CAB-файле. Я нашел этот CAB-файл в таблице «Медиа». Я не знаю, как изменить этот CAB-файл (API), и подозреваю, что мне также придется изменить некоторую информацию в базе данных MSI (запись «ProcessorArchitecture» для сборки в таблице «MsiAssemblyName»).
Обоснование: я делаю установщик для подключаемого модуля Autodesk Revit 2011. Они регистрируются с помощью сборки RevitAddinUtility.dll
, которая должна быть связана с установщиком. Эта сборка поставляется в двух вариантах: один для 32-разрядных и один для 64-разрядных установок. Мне нужно поменять правильную версию при создании установщика, чтобы не писать более одного установщика.