Я создал 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
сетевой путь, но я не знал, как я могу это проверить. Или у вас есть другие идеи, как я могу обеспечить локальную и сетевую установку при использовании этого настраиваемого действия.
Было бы замечательно, если есть какие-либо советы,
привет, Мартин