Конфигурирование Package.xml для SQL Express ClickOnce Предварительная установка - PullRequest
2 голосов
/ 05 июня 2009

У меня есть приложение winform, устанавливаемое ClickOnce, и мне нужно иметь возможность включать удаленные подключения в sqlexpress по умолчанию.

Кроме того, мне нужно убедиться, что локальный пользователь имеет доступ к экземпляру SQL. Как мне отредактировать файл манифеста?

Мое приложение является частью топологии репликации слиянием. Я унаследовал DAL, и пока я не изменил его, я не могу переключиться на SQL CE из-за ограничений SProc.

SQL Express является ClickOnce (способным) и является обязательным условием в VS2008.

Ниже приведен Product.xml пакета загрузчика SQL Express. Как я могу изменить это, чтобы выполнить то, что мне нужно? Кто-нибудь еще должен был изменить это? Вот пример этого .

<Command PackageFile="sqlexpr32.exe" Arguments="-q /norebootchk /qn reboot=ReallySuppress addlocal=all instancename=SQLEXPRESS SQLAUTOSTART=1 ADDUSERASADMIN=1" EstimatedInstalledBytes="225000000" EstimatedInstallSeconds="420">
<InstallConditions>
 <BypassIf Property="SQLExpressInstalled" Compare="ValueEqualTo" Value="0"/>
 <BypassIf Property="VersionNT" Compare="VersionLessThan" Value="5.1"/>
 <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
 <FailIf Property="Version9x" Compare="ValueExists" String="InvalidPlatformXP"/>
 <FailIf Property="VersionNT" Compare="VersionLessThan" Value="5.1.2" String="InvalidPlatformXP"/>
 <FailIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" String="InvalidPlatformArchitecture"/>
 </InstallConditions>
<ExitCodes>
 <ExitCode Value="0" Result="Success"/>
 <ExitCode Value="1641" Result="SuccessReboot"/>
 <ExitCode Value="3010" Result="SuccessReboot"/>
 <ExitCode Value="50037" Result="Fail" String="MissingMSXml"/>
 <ExitCode Value="50251" Result="Fail" String="MissingMSXml"/>
 <ExitCode Value="50198" Result="Fail" String="InsufficientHardware"/>
 <ExitCode Value="50236" Result="Fail" String="InsufficientHardware"/>
 <ExitCode Value="50222" Result="Fail" String="InvalidPlatformOSServicePacks"/>
 <ExitCode Value="70003" Result="Fail" String="InvalidPlatformOSServicePacks"/>
 <ExitCode Value="50247" Result="Fail" String="InvalidPlatformIE"/>
 <ExitCode Value="50248" Result="Fail" String="InvalidPlatformIE"/>
 <ExitCode Value="70004" Result="Fail" String="AnotherInstanceRunning"/>
 <ExitCode Value="70032" Result="Fail" String="BetaComponentsFailure"/>
 <ExitCode Value="70033" Result="Fail" String="InvalidPlatformArchitecture"/>
 <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure"/>
 </ExitCodes>
 </Command>

Я благодарю всех за предоставленное время.

Ответы [ 3 ]

1 голос
/ 05 июня 2009

SQL Express Edition по-прежнему является базой данных серверного класса. Он все время работает как сервис, и, как любая база данных серверного класса, любит много ресурсов. Это просто не очень хороший выбор для локального настольного приложения.

Если вам нужна однопользовательская база данных, используйте что-то вроде SQL Server Compact Edition, Sqlite или даже Access. Я сомневаюсь, что вы оцените его, если вы установили приложение для настольного компьютера только для того, чтобы обнаружить, что оно перетянуло вместе с ним полную версию сервера sql.

0 голосов
/ 29 августа 2012

Если ваш package.xml не играет в мяч, и вы хотите гораздо более простое решение для настольных компьютеров, возможно, вам подойдет Firebird, если есть PDF-файл при конвертации с сервера sql, хранимые процедуры могут остаться такими. Если бы я преобразовал все свои спроки в Linq, я бы сошел с ума, не говоря уже о тестировании ... При конвертации следует учитывать, например, Crystal Reports или другие сторонние утилиты, которые считывают данные с вашего сервера. необходимо доказательство концептуальной работы. Но, развернув и увидев, что он не работает даже на новых установках W7, я согласен с мнением здесь. Локальная БД для нас тоже не выглядит хорошей, поскольку наши периферийные утилиты жестко запрограммированы. \ И ей нужен (localdb) \

0 голосов
/ 05 июня 2009

SQL Server - это сервис. Кажется, теоретически возможно установить службу одним щелчком мыши, см. здесь и здесь .

Я подозреваю, что однократная установка SQL Express невозможна, поскольку это технология развертывания изолированных приложений. Сервер SQL работает близко к металлу и вряд ли будет работать в песочнице.

SQL Compact - это еще одна история , которая является более подходящим способом развертывания приложения, запускаемого по клику, с его базой данных.

Или пусть приложение ссылается на базу данных на другом сервере.

РЕДАКТИРОВАТЬ: И если я все неправильно понял ваш вопрос (и это приложение, запускаемое одним щелчком мыши на клиентской рабочей станции, на которой уже установлен SQL Express), вам необходимо включить удаленные подключения таким образом, Имеются свидетельства того, что инструмент SAC можно использовать для программного обеспечения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...