0

Недавно мы перенесли с VS 2008 на VS 2013, включая набор установочных проектов. Один из проектов установки предназначен для установки веб-приложения. Он имеет одно настраиваемое действие, предназначенное для проверки соединения с базой данных. Код пользовательского действия не был затронут во время миграции, а .msi отлично работает при создании VS 2008. Когда я построил .msi из VS 2013, он отлично работает при установке на нашем локальном сервере разработки и выдает ошибку говоря, что он не может подключиться к db при развертывании в среде клиентов.VS 2013 Проекты установки Работает на одном сервере и не на другом

Я бы очень признателен, если кто-нибудь может указать мне направление поиска здесь. Я знаю, что я передаю правильную строку соединения, а .msi, сгенерированный из VS 2008, может подключаться к этому db с одного и того же сервера.

ответ

1

Пользовательские действия Visual Studio, установленные для Everyone, будут запускаться с учетной записью локальной системы. Соединение с SQL DB часто терпит неудачу, потому что БД не позволяет подключиться к учетной записи системы или потому, что БД находится в сетевом ресурсе, а системная учетная запись не имеет сетевых прав.

Таким образом, он может выйти из строя из-за настроек безопасности БД или из-за того, что БД находится в сети, и это может быть не связано с сервером. Он также может подключаться, если установка выполняется с настройкой Just me, так как пользовательские действия будут выполняться с учетными данными пользователя установки. Также могут возникнуть проблемы с архитектурой, поскольку серверы являются 64-разрядными, а 32-разрядная подсистема является необязательной, и вы не сказали, что вы устанавливали: x64 или ваш пользовательский код действия.