Альтернативное местоположение, которое вы предлагаете, прямо с диска C, вероятно, также потребует повышенных привилегий. До Windows 7 я предложил бы использовать раннее настраиваемое действие, чтобы изменить местоположение по умолчанию для ограниченных установок. Поставьте условие в свойство Privileged
(или, возможно, AdminUser
), убедитесь, что вам нужно установить MSIUSEREALADMINDETECTION
для вашего случая, и используйте что-то вроде [LocalAppDataFolder]Company\Product
. К сожалению, такой подход приведет к тому, что пакет будет трудно установить для всех пользователей, так как вы должны выполнить предварительный подъем, а в ограниченном случае они все равно смогут выбрать целевое местоположение, требующее повышения прав. Они должны быть предварительно подняты, потому что упаковка должна иметь маркировку, чтобы она не поднималась.
Если вы можете настроить таргетинг только на Windows 7 и более поздние версии, вы можете условно установить MSIINSTALLPERUSER
, чтобы переопределить место установки и требование повышения прав, и вместо этого установить для каждого пользователя. В этом случае пользователю может быть предложено установить для всех пользователей (требуется повышение прав) или только для себя. Пакет может быть помечен для повышения прав, и настройка MSIINSTALLPERUSER
переопределит это и пропустит приглашение UAC.