0

я создал пакет MSI с отложенными пользовательскими действиями:WIX: Запустить MSI с сетевого диска

<CustomAction Id="TestTxt" BinaryKey="MyDLL" DllEntry="TestTxt" Execute="deferred" Impersonate="no" /> 
<CustomAction Id="SetTestTxt" Property="TestTxt" Value="[SourceDir]test.txt" /> 

Этот CA считывает содержимое файла test.txt, помещенный рядом с MSI.

Установка прекрасно работает с локального диска и с сетевого пути, НО, но когда я попытался запустить его с подключенного сетевого диска, CA не смог найти файл test.txt. Я получаю System.IO.DirectoryNotFoundException Exception ...

У вас есть идеи, что может быть проблемой и как я могу это исправить? спасибо!

+0

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

+0

Исходник SourceDir верен. В журнале CustomAction я вижу, что недостающим файлом является M: \ test.txt (M - подключенный диск) ... – Hila

ответ

2

Проблема может заключаться в том, что msi запускается с повышенными привилегиями, и в этом случае сетевые диски не доступны для процесса (см. KB 937624). Обходной путь в KB подразумевает редактирование реестра и перезагрузку компьютера, поэтому нет простого решения.

+0

Спасибо за ваш ответ. Хотя я запускаю установку на XP, я попытался добавить раздел реестра, и это не помогло ... – Hila

+0

Является ли ваша учетная запись администратора учетной записи? Вы также можете запустить программу установки в Process Monitor для получения дополнительной информации. – CharlesB

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