Сбой установщика Windows с ошибкой «Ошибка записи в файл: System.Web.Extensions.dll. Убедитесь, что у вас есть доступ к этому каталогу». - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть простой пакет установщика Windows, который я создал. Все, что он делает, это устанавливает 2 .dll в GAC. Это производственный компьютер, поэтому, насколько я понимаю, рекомендуется установить его в GAC следующим образом (в отличие от использования gacutil.exe и т.

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

Я не уверен, как решить эту проблему. В четных логах нет событий, и т.д. Нет указаний на то, что не так. Этот вопрос на MSDN содержит некоторые подсказки, но я не могу найти никаких реальных ответов.

enter image description here

1 Ответ

2 голосов
/ 14 апреля 2011

Вот мое предположение, не глядя ни на один лог-файл:

1) Вы даже не должны устанавливать эту сборку, поскольку она является частью .NET 3.5. Вы также, вероятно, не сказали своему установщику установить его. Это всего лишь одна из тех замечательных функций, которые делают проекты развертывания Visual Studio, ну, в общем, «особенными». Ему нравится обнаруживать зависимости, а затем вы можете «исключить» их (щелчок правой кнопкой мыши | исключить)

2) Машина, на которой она «работает», вероятно, имеет .NET 3.5, и поскольку эта версия сборки уже находится в GAC, MSI просто пропускает ее.

3) Машина, которая не работает (вы сказали, что это W2K3 ни с чем другим), вероятно, имеет только .NET 1.1 (она была предустановлена), а когда MSI пытается установить сборку .NET 3.5 (CLR 2.0), она не работает. иметь представление о том, как это сделать, поэтому выдает (вводящую в заблуждение) ошибку.

Опять же, только предположение, поскольку вы не предоставили журнал установки Windows .

И, наконец, еще одно возможное преимущество:

MSI: "Ошибка записи в файл: ** .dll. Убедитесь, что у вас есть доступ к этому каталогу. Проблема GAC?

Несмотря на то, что я подозреваю, что моя догадка верна, вы должны просто исключить сборку, так как она уже установлена ​​в .NET 3.5.

PS- Установщики - это нишевое пространство, поэтому 14 часов - это совсем не время, как в C #, когда 500 человек пытаются ответить на вопрос за 5 минут.

...