Question

Je suis en train d'évaluer InstallShield 2010, et essaie de régler certains paramètres de ligne de commande pour SQL Server 2008 pré-requis à l'exécution de l'utilisateur. Il semble que la condition sine qua non est entièrement définie dans les fichiers .prq (xml-style).

Wise pour Windows utilisé WiseScript pour appeler les installations préalables. InstallAware semble avoir quelque chose de similaire, avec leur propre script. Est-ce que quelque chose exist similaire pour InstallShield?

Était-ce utile?

La solution

Nous utilisons est v12; J'ai construit un fichier .prq dans le but (ils ne fournissent pas une .prq pour SQL 2008 IS v12). D'abord, je suis allé à http://msdn.microsoft.com/en-us/ bibliothèque / ms144259.aspx pour obtenir toutes les args possibles de la ligne de cmd. Ensuite, je l'éditeur IS PRQ pour créer la structure de base .prq. Puis-je la main modifié le fichier .prq (xml) pour (a) des ajustements mineurs facile à l'avenir et (b) de simplifier les diffs de contrôle de version.

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

Autres conseils

Oui - en cliquant droit sur la condition SQL Server -> "Application Run" » onglet -.> "Spécifiez la ligne de commande pour l'application"

La seule façon que je sais comment faire est d'écrire un helper.exe que les appels PRQ. Le EXE aurait besoin de détecter les paramètres de Windows et passer sous silence les bons arguments pour le vrai Prereq EXE / MSI.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top