6
votes

Convertir le dossier dans le répertoire virtuel en application, en utilisant Wix

Comment puis-je convertir un répertoire sous un répertoire virtuel en une application, en utilisant Wix?

WIX installe le répertoire virtuel suivant sur IIS et je souhaite également convertir le dossier Webservice en une application.


0 commentaires

4 Réponses :


1
votes

Vous pouvez ajouter une référence au wix iisextension à votre projet et Créez-en un en utilisant ceci.

Un bon exemple de ceci peut être trouvé ici: Utiliser WIX à Créez un répertoire virtuel IIS


1 commentaires

C'est la façon dont le répertoire virtuel Sentry existant est créé et ne fonctionne pas pour créer une application dans un répertoire virtuel existant (notez le «site Web» de la propriété IIS: WebVirtualDir)



9
votes

Je n'ai pas pu trouver un moyen de faire cela à travers Wix ou l'extension IIS, j'ai donc eu recours à une commande externe. Pour une référence future, les commandes sont les suivantes:

IIS 5 strong> p> xxx pré>

IIS 6 strong> p>

C:\Windows\System32\inetsrv\appcmd add app /site.name:"Default Web Site" /path:/Sentry/webservice /physicalPath:"{physical path}"


1 commentaires

Pouvez-vous poster la source de ces informations? Surtout pour IIS6. Merci !



2
votes

Ceci peut être fait avec le iisextension , comme le suggère Daniel Morritt. Comme il est très difficile de trouver un échantillon de code pour cela, je pensais poster comment je l'ai fait.

<!-- Your example uses the default web site. -->
<iis:WebSite Id="DefaultWebSite" Description="Default Web Site" SiteId="*">
  <iis:WebAddress Id="DefaultWebAddress" Port="80"/>
</iis:WebSite>

<!-- Web Dir Properties to enable access to a Web Application. -->
<iis:WebDirProperties Id="AnonymousExecuteAndScript" 
                      Read="yes" 
                      Write="no" 
                      Execute="yes" 
                      Script="yes" 
                      AnonymousAccess="yes" 
                      Index="no" 
                      LogVisits="no"/>

<!-- Assumes the presence of this directory reference. -->
<DirectoryRef Id="SentryWebServiceDir">
  <Component Id="SentryWebServiceComponent" Guid="{GUID-GOES-HERE}">

    <iis:WebVirtualDir Id="SentryWebService"
                       DirProperties="AnonymousExecuteAndScript" 
                       Alias="Sentry/webservice"
                       Directory="SentryWebServiceDir"
                       WebSite="DefaultWebSite">

      <!-- Make this virtual directory a web application -->
      <iis:WebApplication Id="SentryWebServiceApp" Name="webservice" WebAppPool="DefaultAppPool"/>
    </iis:WebVirtualDir>

    <!-- Workaround for the need for a KeyPath for this component. -->
    <RegistryValue Root="HKLM"
              Key="SOFTWARE\YourCompany\Sentry\WebService"
              KeyPath="yes"
              Value="1"
              Type="binary"
              Name="Installed"
              Id="SentryWebServiceInstalled"/>
  </Component>
</DirectoryRef>


0 commentaires

0
votes

J'ai testé cette approche et cela fonctionne:

http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg04374.html p>

Il dit de mettre tout le chemin dans l'alias, Par exemple P>

<iis:WebVirtualDir Id="VIRTDIR_Sentry_webservice"
                       Directory="WebService"
                       Alias="Sentry/webservice"
                       WebSite="SITE_Default"> ...


0 commentaires