4

Некоторые из наших пользователей в нашей организации начали сообщать о странной ошибке при установке нашего продукта (сведения о продукте отредактированы на снимке экрана):

Снимок экрана с датским сообщением об ошибке

Исходное сообщение об ошибке на английском языке: "Каталог установки должен находиться на локальном диске".

Изменение пути к чему-либо без пробелов, альтернативных корневых папок или даже других физических дисков на машине ничего не меняет. Установщик по-прежнему настаивает на том, что путь не является локальным.

Этот установщик создается с помощью WIX, а определенный шаг в процессе создается с помощью настраиваемого действия WixUIValidatePath . Ранее была отправлена ошибка, которая также указывает на то, что ошибка связана с ограничениями в установщике (спасибо peterflynn на GitHub за указание мне в этом направлении).

Проблема возникает только на некоторых компьютерах, и кажется, что никто не имеет проблемы в Windows 10. Я не смог проверить, происходит ли это в других версиях Windows, начиная с 8.1, так как это и Windows 10 - единственные версии, которые мы запускаем.

1 ответ1

6

После большой отладки мы сузили его до проблем с правами на временные папки с текущим пользователем. Различные шаги решали проблему на разных компьютерах. Здесь я буду перечислять исправления от наименее до наиболее инвазивных подходов:

  1. Убедитесь, что установщик запущен от имени администратора
    Это то, что нам уже требуется, но некоторые пользователи склонны забывать об этом. Это также наиболее распространенное решение проблемы, с которой я столкнулся при поиске решения.
    Самый простой способ убедиться в этом - нажать WinKey и ввести cmd чтобы найти командную строку, а затем нажать CTRL + SHIFT + ENTER чтобы открыть командную строку от имени администратора, а затем перейти в папку msi (инструкции по навигации см. В этом разделе. ссылка) и запустить его оттуда.
  2. Вручную установите KB3072630
    Некоторые из наших пользователей по какой-то причине не правильно получили это конкретное обновление от MS, которое, похоже, решило проблему! Именно здесь большинство пользователей решали свои проблемы.
  3. Запустите программу установки без вывода сообщений
    Эта ошибка связана с компонентом пользовательского интерфейса WIX, поэтому выполнение MSI в режиме без вывода сообщений не активирует компонент пользовательского интерфейса, и, следовательно, ошибка также не будет вызвана. Вы можете сделать это через командную строку, как указано в предыдущем шаге, но с этими добавленными параметрами в MSI:
    /qn+
    Спасибо Kr3m на GitHub за этот подход
  4. Запустите установщик с отключенной проверкой пользовательского интерфейса
    Компонент WIX UI, который все это исправляет, также может быть отключен. ВНИМАНИЕ: Это также отключит любые проверки работоспособности на пути установки и может испортить процесс установки! Это можно сделать с помощью другого параметра командной строки:
    WIXUI_DONTVALIDATEPATH="1"
    Спасибо peterflynn на GitHub за этот подход
  5. Отключить LUA
    Единственный надежный способ устранить проблему - полностью отключить LUA, который был стандартом для некоторых наших сред, чтобы иметь возможность работать с устаревшими функциями. Полное отключение LUA требует внесения изменений в реестр вручную, поэтому убедитесь, что вы знаете, что делаете, и последствия этого. Инструкции можно найти здесь на форуме MS '.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .