Создать базу данных с загрузкой SQL Express - PullRequest
3 голосов
/ 30 июля 2010

Я написал приложение, которое загружает SQL Express 2008 с помощью установщика Wix 3.5, а затем пытается СОЗДАТЬ БАЗУ ДАННЫХ при первом запуске приложения.Таким образом, установка SQL Express полностью без присмотра.Все это прекрасно работает, когда учетная запись, устанавливающая приложение, является администратором на компьютере.

Однако, что неудивительно, проблемы возникают при установке с правами администратора.Когда мы пытаемся запустить CREATE DATABASE sql, он начинает работать: -

sql express 2008: в базе данных «master» отказано в разрешении на создание базы данных «master»

Очевидно, что стандартная учетная запись пользователя не имеетправильная привилегия.Так или иначе, мы должны предоставить обычному пользователю правильные привилегии.Я думал о объединении отдельного исполняемого файла, который вынужден запускаться от имени администратора (через UAC), который будет создавать базу данных и назначать привилегии для новой базы данных учетной записи пользователя - не очень элегантное решение.

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

Ответы [ 2 ]

2 голосов
/ 30 июля 2010

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

1 голос
/ 05 августа 2010

Оказывается, вы можете делать все это с помощью WiX, с расширением SQL.

http://www.tramontana.co.hu/wix/lesson7.php#7.1

...