Я хотел был бы иметь возможность заменить файл, который упакован в наш msi с внешним, который пользователь предоставляет (Он отменяет некоторые настройки, характерные для установки компании программное обеспечение), а также скопировать папку из файлов (возможно, может или не существовать, содержимое часто меняется) в папку назначения.Скопируйте возможные файлы в местоположение с помощью msi/custom action
Мой текущий подход состоял в том, чтобы иметь папку и файл вместе с msi в папке или на компакт-диске и использовать настраиваемое действие для поиска папки и файла в той же папке, что и msi. Это работает нормально, пока установщик запускается с локального компьютера. Когда установщик запускается из сетевого расположения, пользовательское действие не может попасть в папку, в которой находится msi из-за ограниченных разрешений.
Есть ли способ обойти проблему с разрешениями, или есть лучший способ получить эти файлы в нужное место?
Если вы просто хотите сделать некоторые файлы вашего смены установщика, вы можете установить «PackageAs = vsdpaLoose». Эти файлы затем ожидаются в той же папке, что и msi. Вы также можете установить «Vital = false», если они не требуются. Внутри вашего проекта установки они обрабатываются так, как они были частью msi. – nik
@milter Это хорошая идея, но Vital = False не совсем работает, так как программа установки все еще терпит неудачу, если она не может найти файл. Кажется, что свойство имеет значение только тогда, когда msi попытался установить файл, и он терпит неудачу или нет. – Septih
Да, вы правы, извините. Совсем недавно я возился с этим. Установщик все равно не работает, но предлагает возможность игнорировать и продолжать. Поэтому он успешно завершит установку, но он не выглядит хорошо для пользователя. Тем не менее, вы можете использовать файл контейнера, который может быть пустым или нет (например, zip). – nik