2009-06-04 1 views
2

ClickOnce에 의해 설치되는 winform 응용 프로그램이 있고 기본적으로 sqlexpress에서 원격 연결을 활성화 할 수 있어야합니다.SQL Express ClickOnce Pre-Requisite 용 Package.xml 구성이 필요합니까?

또한 로컬 사용자가 SQL 인스턴스에 액세스 할 수 있는지 확인해야합니다. 매니페스트 파일은 어떻게 수정합니까?

내 응용 프로그램은 병합 복제 토폴로지의 일부입니다. 나는 DAL을 물려 받았고 내가 그것을 바꿀 때까지 나는 SProc의 한계 때문에 SQL CE로 바꿀 수 없다.

SQL Express는 ClickOnce (가능)이며 필수 구성 요소로 VS2008의 기본값입니다.

다음은 SQL Express Bootstrapper 패키지의 Product.xml입니다. 필요한 것을 성취하기 위해 이것을 어떻게 수정할 수 있습니까? 다른 사람이 이것을 수정해야합니까? Here is an example of this.

<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> 

나는 모두에게 감사한다.

답변

0

SQL Server는 서비스입니다. 클릭 한 번으로 서비스를 설치하는 것이 이론적으로 가능합니다 (herehere 참조).

클릭 한 번으로 SQL Express를 설치하는 것이 샌드 박스 응용 프로그램을 배포하기위한 기술이기 때문에 불가능하다고 생각합니다. SQL 서버는 금속에 가깝기 때문에 샌드 박스에서 작동하지 않을 것입니다.

그리고 데이터베이스와 함께 한 번 클릭 앱을 배포하는 더 적절한 방법입니다.

또는 앱이 다른 서버의 데이터베이스를 참조하도록합니다.

EDIT : 질문이 잘못 되었다면 (그리고 이미 SQL Express가있는 클라이언트 워크 스테이션에서 한 번의 클릭으로 실행됩니다) 원격 연결 this way을 활성화해야합니다. 프로그래밍 방식으로 SAC tool can be used을 수행한다는 증거가 있습니다.

+1

시간을내어 게시 해 주셔서 감사합니다. SQL Express는 Clickonce에서 배포 할 수있을뿐만 아니라 VS2008에서 사용할 수있는 기본 부트 스트 래퍼 중 하나입니다. 병합 복제 토폴로지에서 "다른 서버"를 사용할 수 없으며 SQL Compact가 SProcs를 지원하지 않으며 LINQ 라이브러리로 thal DAL을 다시 작성할 기회가 생길 때까지이 경로를 사용합니다. –

+0

SQL을 설치하면 실제로는 사전 요청임을 나타 냅니까? 글쎄,이 페이지는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/bb264562.aspx#emsqlexcustapp_topic4 한 번 클릭하면 SQL Express가 전제 조건이라는 것을 알 수 있지만 여전히 SQL Express 설치 부분에는 관리자 권한이 필요합니다. 당신이 맞다면, 잠긴 회사 워크 스테이션에 SQL Server를 설치할 수 있습니다. 그러면 정말 대단 할 것입니다. 나는 그것을 시도 할 것이다. – MatthewMartin

+0

그래, 그게 내가하고있는 일이다. 내 앱에 필수적임을 나타냅니다. 그것은 잘 설치되지만, 사용자는 시스템 자체의 관리자입니다. –

1

SQL Express Edition은 여전히 ​​서버 클래스 데이터베이스입니다. 이 서비스는 항상 서비스로 실행되며 모든 서버 클래스 데이터베이스는 많은 리소스를 좋아합니다. 로컬 데스크톱 응용 프로그램을위한 좋은 선택이 아닙니다.

단일 사용자 데이터베이스가 필요한 경우 SQL Server Compact Edition, Sqlite 또는 Access 같은 것을 사용하십시오. 데스크톱 응용 프로그램을 설치 한 경우에만 전체 SQL Server를 끌어다 놓은 상태에서 해당 응용 프로그램을 설치하면 감사하게 생각합니다.

+0

시간을내어 주셔서 감사합니다. SQL CE는 유감스럽게도 SProcs를 지원하지 않기 때문에이 시점에서 옵션이 아닙니다. 우리 DAL 레이어를 제거하고 LINQ로 바꿀 계획 이었지만 그렇게까지는 가지지 못했습니다. –

0

package.xml에서 공이 들리지 않고 데스크탑에 대한 간단한 솔루션을 원할 경우 firebird가 옵션 일 수 있습니다. SQL 서버에서 변환하는 방법에 대한 PDF가 있으므로 저장 프로 시저를 그대로 사용할 수 있습니다. 나는 모든 sprocs Linq로 변환하는 경우, 나는 혼자 테스트를 보자 화가 갈거야 ... 예 : 예. 크리스탈 보고서 또는 서버에서 데이터를 읽는 다른 타사 유틸리티. 필요한 개념 작업에 대한 증명. 그러나 배치하고 지금은 W7의 새로운 설정에서도 실패하는 것을 보았습니다. 나는 여기에있는 감정에 동의합니다. \ localdb \