Я создал msi-пакет, который сжимает некоторые xml-файлы в zip-файл во время установки. Я создал CustomAction для этих целей:
<CustomAction Id="CompressMy" BinaryKey="zipEXE" ExeCommand="a -tzip "[TEMPLATE_DIR]my.zip" "[TempSourceFolder]data.xml"" Return="check" HideTarget="no" Impersonate="no" Execute="deferred" />
Установка работает нормально, если я попытаюсь выполнить установку на локальный диск, но недавно клиент хотел установить [TEMPLATE_DIR]
на сетевой диск в Windows Vista. CustomAction завершается ошибкой, потому что установщик с повышенными привилегиями не подключил сетевой диск, даже если вызывающий установщик пользователь подключил этот диск. Это также происходит, если я пытаюсь установить по пути unc. Для сжатия использую 7zip. Я добавил его в свой msi-пакет.
Я попытался установить Impersonate="yes"
, но затем установка не удалась, если мой TEMPLATE_DIR
f.e. ProgramData-dir.
Ты хоть представляешь, что я могу сделать? Я думал о том, чтобы проверить, является ли TEMPLATE_DIR
сетевым путем, но я не знал, как это проверить. Или у вас есть другие идеи, как я могу обеспечить локальную и сетевую установку при использовании этого настраиваемого действия.
Было бы здорово, если есть какие-нибудь советы,
привет, Мартин