VS 2013 Setup Projects Работает на одном сервере, а не на другом

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

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

1 ответ

Пользовательские действия Visual Studio, установленные для каждого, будут выполняться с локальной системной учетной записью. Соединение с базой данных SQL часто завершается сбоем, так как база данных не позволяет подключиться к системной учетной записи, или потому что база данных находится в общей сетевой папке, а системная учетная запись не имеет сетевых привилегий.

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