Запускаете исполняемый файл в сетевой папке с CustomAction с wix?

Я создал msi-пакет, который сжимает некоторые xml-файлы в zip-файл во время установки. Я создал CustomAction для этих целей:

<CustomAction Id="CompressMy" BinaryKey="zipEXE" ExeCommand="a -tzip &quot;[TEMPLATE_DIR]my.zip&quot; &quot;[TempSourceFolder]data.xml&quot;" 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 сетевым путем, но я не знал, как это проверить. Или у вас есть другие идеи, как я могу обеспечить локальную и сетевую установку при использовании этого настраиваемого действия.

Было бы здорово, если есть какие-нибудь советы,

привет, Мартин


person martin    schedule 22.02.2010    source источник


Ответы (1)


Один из способов выполнить вашу задачу - использовать собственный код для настраиваемого действия. У меня была аналогичная проблема, и я преобразовал все CA в собственный код (C ++)

Всего наилучшего

s

person BALKANGraph    schedule 01.05.2010