Вопрос

У меня есть пара решений, которые представляют собой фреймворк кода, который я создал на работе.Одно решение называлось "Фреймворк", а другое - "Расширения".

Причина, по которой я разделил их, заключается в том, что решение "Расширения" содержит проекты, состоящие из методов расширения, и проекты организованы таким образом, что результирующие сборки отражают сборки .NET.

Я создал проект модуля слияния для "Расширений" и установщик, который его использует.Все это прекрасно - но теперь я хочу создать установщик для "Framework", который также использует тот же модуль слияния.Следовательно, я хотел бы изменить установщик 'Extensions', чтобы скопировать файл модуля слияния 'Extensions' на C:\Program Files\Common Files\Merge Modules таким образом, установщик "Framework" будет иметь хорошо известный путь, по которому можно ссылаться на модуль слияния для "Расширений", а не ссылаться на какой-либо неясный путь, в котором находится мое решение VS (причина в том, что фреймворк иногда будет создаваться на разных машинах, на которых пути к проектам VS могут отличаться).

Документация MSDN рассматривает это лишь кратко и просто говорит, что модули слияния не могут быть установлены в файловую систему, а могут быть только "использованы".

Потерпеть неудачу.

Кто-нибудь знает способ обойти это?Пользовательские действия?Как установщик Visual Studio устанавливает свои модули слияния?

Это было полезно?

Решение 2

Короткий ответ таков:нет никакого способа сделать это, кроме как написать свой собственный установочный фреймворк.

Другие советы

Когда вы создаете установщик MergeModule как часть редактора файловой системы, появляется папка под названием "Папка с переназначением модуля" (это имя по умолчанию и может быть изменено, также могут быть добавлены дополнительные).

Как только .msm будет собран, если вы перейдете к основному проекту установки и добавите в него модуль слияния, вы можете выбрать .msm в обозревателе решений и, заглянув в окно свойств, увидеть запись под названием "MergeModuleProperties", разверните ее, и вы увидите список всех перенацеливаемых папок, а затем сможете указать им нужное место.

Опаздываю на вечеринку, но

Я сделал это однажды, переименовав модуль слияния (изменил расширение файла), установив его в файловую систему как обычный файл, затем переименовав установленный файл.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top