2009-11-02 2 views
0

InstallShield 2010을 평가 중이며 사용자 런타임에 SQL Server 2008 전제 조건에 일부 명령 줄 매개 변수를 설정하려고합니다. 선행 조건은 .prq 파일 (XML 스타일)로 완전히 정의되어있는 것으로 보입니다.InstallShield 전제 조건에 매개 변수를 보낼 수 있습니까?

Windows 용 Wise에서는 WiseScript를 사용하여 필수 구성 요소 설치를 호출했습니다. InstallAware는 자신의 스크립팅과 비슷한 점이있는 것 같습니다. InstallShield와 비슷한 것이 있습니까?

답변

2

IS v12를 사용합니다. 목적을 위해 .prq 파일을 만들었습니다. 그들은 SQL 2008 for IS v12를 제공하지 않습니다. 먼저 모든 가능한 cmd 행 인수를 얻기 위해 http://msdn.microsoft.com/en-us/library/ms144259.aspx에갔습니다. 그런 다음 IS PRQ 편집기를 사용하여 기본 .prq 구조를 만들었습니다. 그런 다음 (a) 장래에 쉽게 조정할 수 있고 (b) 버전 제어 차이를 단순화하기 위해 .prq (xml) 파일을 수작업으로 편집했습니다.

<?xml version="1.0" encoding="utf-8"?> 
<SetupPrereq> 
    <conditions> 
     <condition Type="16" Comparison="2" Path="[ProgramFilesFolder]Microsoft SQL Server\100\COM" FileName="sqlresld.dll" ReturnValue="2007.100.1600.22"/> 
    </conditions> 
    <files> 
     <file LocalFile="&lt;ISProductFolder&gt;\SetupPrerequisites\Microsoft SQL Server 2008 Express with Tools\SQLEXPRWT_x86_ENU.exe" CheckSum="BCC335711D44BAFC420B5165D2F04647" FileSize="0,229169680"/> 
    </files> 
    <execute file="SQLEXPRWT_x86_ENU.exe" requiresmsiengine="1" 
     cmdline  ="/INSTANCEID=AV /INSTANCENAME=AV /ACTION=Install /FEATURES=SQLENGINE,SSMS /HELP=0 /ERRORREPORTING=0 /SQMREPORTING=0 /INDICATEPROGRESS=0 /QUIETSIMPLE=1 /FILESTREAMLEVEL=0 /ENABLERANU=1 /TCPENABLED=1 /NPENABLED=0 /ADDCURRENTUSERASSQLADMIN=1 /AGTSVCACCOUNT=&quot;NT AUTHORITY\NETWORK SERVICE&quot; /AGTSVCSTARTUPTYPE=Manual /BROWSERSVCSTARTUPTYPE=Automatic /SQLSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT=&quot;NT AUTHORITY\NETWORK SERVICE&quot; /RSSVCSTARTUPTYPE=Automatic" 
     cmdlinesilent="/INSTANCEID=AV /INSTANCENAME=AV /ACTION=Install /FEATURES=SQLENGINE,SSMS /HELP=0 /ERRORREPORTING=0 /SQMREPORTING=0 /INDICATEPROGRESS=0 /QUIETSIMPLE=1 /FILESTREAMLEVEL=0 /ENABLERANU=1 /TCPENABLED=1 /NPENABLED=0 /ADDCURRENTUSERASSQLADMIN=1 /AGTSVCACCOUNT=&quot;NT AUTHORITY\NETWORK SERVICE&quot; /AGTSVCSTARTUPTYPE=Manual /BROWSERSVCSTARTUPTYPE=Automatic /SQLSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT=&quot;NT AUTHORITY\NETWORK SERVICE&quot; /RSSVCSTARTUPTYPE=Automatic" 
    /> 
    <dependencies> 
     <dependency File="&lt;ISProductFolder&gt;\SetupPrerequisites\Microsoft Installer 4.5 for XP.prq"/> 
     <dependency File="&lt;ISProductFolder&gt;\SetupPrerequisites\Microsoft Installer 4.5 for Windows Server 2003 or 64 bit XP.prq"/> 
     <dependency File="&lt;ISProductFolder&gt;\SetupPrerequisites\Power Shell 1.0 for Windows XP.prq"/> 
     <dependency File="&lt;ISProductFolder&gt;\SetupPrerequisites\Power Shell 1.0 for Windows Server 2003.prq"/> 
    </dependencies> 
    <properties Id="Microsoft SQL Server 2008 Express with Tools" Description="This installs Microsoft SQL Server 2008 Express Edition (SQL Server Express). The /qn switch suppresses all Setup dialog boxes and error messages. See http://msdn2.microsoft.com/en-us/library/ms144259.aspx for more information about the commad line options. The SQL setup logs to %programfiles%\Microsoft SQL Server\100\Setup Bootstrap\Log\"/> 
</SetupPrereq> 
2

예 - SQL Server 전제 조건 -> "응용 프로그램 실행"탭 -> "응용 프로그램의 명령 줄 지정"에서 예를 클릭하십시오.

+0

나는 이미 이것을 사용하고 있지만이 값을 다른 Windows 언어 설정에 맞게 현지화해야하므로 컴파일 타임이 아닌 런타임시/SQLSVCACCOUNT를 설정하려고합니다. –

+0

http://community.flexerasoftware.com/showthread.php?p=436775#post436775 – KMoraz

0

이 작업을 수행하는 방법을 알고있는 유일한 방법은 PRQ가 호출하는 Helper.EXE를 작성하는 것입니다. EXE는 Windows 설정을 감지하고 올바른 인수를 실제 Prereq EXE/MSI에 자동으로 전달해야합니다.