Переименование сборок внутри MSI с использованием установщика Software Development Kit - PullRequest
2 голосов
/ 23 мая 2011

У меня есть устаревший проект, где у них было множество проектов по установке Visual Studio для создания установочных пакетов одного и того же плагина для разных версий стороннего приложения.

Я пытаюсь выяснитькак построить проекты установки так, чтобы они работали.

Извлечение содержимого ранее скомпилированного MSI и того, которое я получаю при сборке проекта, сборки в папке Global Assembly Cache внутри моего MSI, а другие -разные.Другой MSI имеет суффикс, добавляемый к именам сборок.

Как часть процесса компиляции MSI, у них, по-видимому, был скрипт переименования сборок в скомпилированных пакетах MSI с использованием SQL-запросастроки для установщика Windows .

У меня есть сценарий, и он запускается на моем MSI, но не переименовывает файлы сборки, как при извлечении содержимого MSI.

SQLоператоры, которые, как я полагаю, должны переименовать сборки, имеют следующую форму:

update MsiAssemblyName set Value = 'AssemblyNameSuffix' where Value = 'AssemblyName'

Запуск сценария каким-то образом меняет MSI, но я не вижу переименованных файлов сборки.

Вопрос в том, можно ли таким образом переименовать файлы сборки в MSI с помощью SQL, и если да, то как этого достичь?

Спасибо!

1 Ответ

1 голос
/ 28 января 2012

Нет, это невозможно. Даже если вы обновите таблицу File, добавив новое имя файла, сборка будет повреждена, поскольку в сборках .NET содержатся метаданные, которые описывают имя сборки, пространство имен и классы. Переименование файла сломает его.

...