2014-09-14 2 views
3

SQL Server Express 데이터베이스를 사용하는 응용 프로그램을 배포하는 것은 처음입니다. Entity Framework 모델을 사용하여 데이터베이스에 연결하십시오. 및 Install Shield를 사용하여 설치 마법사를 만들어 응용 프로그램을 설치하십시오."SQL Server Express + EF"응용 프로그램을 배포하는 방법

이 I'v는 대상 컴퓨터에서 응용 프로그램 설치하기 위해 수행 단계는 다음과 같습니다

  1. MS SQL 서버 익스프레스 (DEST)
  2. 설정 파일 (DEST)를 사용하여 프로그램을 설치 설치는
  3. 분리 SQL Server의 데이터베이스 및 관련 .mdf, .ldf 파일을 대상 컴퓨터에 복사
  4. SQL Server Management Studio를 사용하여 대상 컴퓨터에 데이터베이스 파일을 첨부합니다.

서버 이름과 SQL 이름 인스턴스가 다르며 이전 연결 문자열로 프로그램을 올바르게 실행할 수 없습니다.

저는 초급이며 목적지 컴퓨터에서 프로그램을 실행하려면 어떻게해야합니까?

  • 런타임에 연결 문자열을 변경하는 방법을 찾아야합니까?!
  • 또는 installshield 프로젝트를 수정할 수있는 방법이 있으며이 작업을 수행합니까? (installshield는 프로페셔널 에디션 임)
  • 나에게 무엇을 제안 할 수 있습니까?

내 검색에서 WiX가이 작업을 수행 할 수 있음을 알았지 만 복잡해 보이며 배울 충분한 시간이 없습니다. 최대한 빨리 앱을 배포해야합니다.

고맙습니다. 프로젝트에서 LocalDB를 사용하는

+1

LocalDB를 사용하면 설치가 더 쉽습니다. http://msdn.microsoft.com/en-us/library/hh510202.aspx –

+0

고마워요. @VDohnal,하지만이 앱을 배포하는 것을 선호합니다.이 문제를 해결할 다른 방법을 알고 계십니까? –

+1

LocalDB를 그대로 사용할 수 있습니다. –

답변

4

몇몇 힌트 :

  1. 다운로드 SQL 익스프레스 LocalDB 2014 here. 자동으로되도록 당신은 당신의 VS 프로젝트에 .MDF을 포함하고 빌드하는 동안 당신의 bin 폴더에 복사됩니다 있도록 Copy if newer에 속성에서 설정이

    msiexec /i SqlLocalDB.msi /qn IACCEPTSQLLOCALDBLICENSETERMS=YES

  2. 처럼 하나의 명령으로 자동으로 설치할 수 있습니다 설치 프로그램에 포함되어 있습니다. (WPF Desktop Application with MDF used locally for all local users) 데이터베이스 파일을 원하는 위치에 존재하는 경우 (예를 들어 %PUBLIC%\YourApp\Data), 확인 (app.cs에서) 앱 시작시

  3. . 그렇지 않다면, 응용 프로그램 설치 디렉토리에서 데이터 디렉토리로 .mdf 파일을 복사하십시오. 처음에 연결하려고 할 때 LocalDB exe 인이 시작되기 때문에 연결 제한 시간이 증가한다 <add name="MyContextLocalDB" connectionString="Server=(localdb)\MSSQLLocalDB; Integrated Security=True; AttachDBFilename=|DataDirectory|\MyDatabase.mdf; Connection Timeout = 30" providerName="System.Data.SqlClient" />

: 같은

  • 은 수정 app.config 그래서 연결 문자열 보이는 것이다.

    Database.CreateIfNotExists도 사용할 수 있지만 사용해 본 적이 없습니다.

  • +1

    이렇게 기본적이고 간단한 정보를 찾기가 너무 어려워 보입니다. 고맙습니다. – Julien