2011-11-25 2 views
0
<Custom Action="SetARPINSTALLLOCATION" After="InstallValidate">NOT (REMOVE="ALL" or REMOVE="ProgramFiles")</Custom> 

У меня есть это пользовательское действие, вызванное в InstallSequence, действие, которое необходимо заполнить при обновлении INSTALLDIR из реестра, и это настраиваемое действие также вызывается в новой установке.SetARPINSTALLLOCATION неверное значение

В большинстве случаев это действие для новой установки возвращает одно местоположение с локальной машины, а установка работает без проблем, но на машине-клиенте возвращается значение \ SomeDir \ и настройки.

Как я могу использовать это настраиваемое действие для правильной работы?

+0

Проблема, похоже, в вашем пользовательском действии. Вы пытались отладить его, чтобы понять, почему он устанавливает недопустимый путь? –

+0

Я не знаю, как отлаживать, это пользовательское действие из WIX. – ctescu

+1

Из командной строки запустите свой msi со следующим msixec/l * v msilog.txt/i myInstaller.msi, и в результате будет выведен файл журнала в той же папке в файле msi. Здесь вы сможете увидеть, что происходит в процедуре установки. – Neil

ответ

0

После некоторого анализа я обнаружил, что функции работают правильно, но система содержит недопустимую запись в реестре, и для этого значения результат SetARPINSTALLLOCATION был неправильным значением.

Неверное значение в реестре было создано из-за существования записи InstallLocation непосредственно в разделе реестра для удаления, без какого-либо ориентированного родителя.

Спасибо.

Смежные вопросы