Gallery Server Pro sample files

by Steve Jacobson

Note

The Windows Web Application Gallery (WWAG) is being retired on July 1, 2021. We are no longer taking submissions via the Submission Portal. Please contact webpi@microsoft.com to make updates to your existing submission.

This is a set of sample files you could use with Gallery Server Pro and the Web Deployment tool for deploying Gallery Server Pro on IIS. You can include a custom _SqlMembership.txt file to parameterize the Application's admin username and password that can be used by the application to setup the application administrator credentials.

The files are annotated with comments that explain specific lines in the files you'll need to customize for your configuration.

Sample manifest.xml file

<MSDeploy.iisApp> 
  <!-- Copies content from path into the destination specified in parameters.xml and marks as an app in IIS 5.1, 6.0 and 7.x -->
  <iisapp path="gsp" />

  <!-- Set NTFS ACLs on the destination specified in parameters.xml -->
  <setAcl path="gsp/App_Data" setAclAccess="Modify" />
  <setAcl path="gsp/gs/mediaobjects" setAclAccess="Modify" />

<!-- _SqlMembership.txt is being added to the distribution. The installer writes the admin username and password to this file. This file has two lines in it: 
  ==============================
  PlaceholderForAdminUser
  PlaceholderForAdminPassword
  ==============================
  
  -->

  <setAcl 
    path="gsp/App_Data/_SqlMembership.txt" 
    setAclAccess="Modify" 
    setAclResourceType="File" 
    setAclUser="anonymousAuthenticationUser" 
    /> 
</MSDeploy.iisApp>

Sample parameters.xml file

<parameters>
  <parameter
    name="Application Path"
    description="Relative Path from the selected Web Site or Application under which to install Gallery Server Pro."
    defaultValue="gallery"
    tags="iisapp"
    >
    <parameterEntry 
      type="ProviderPath" 
      scope="iisapp" 
      match="gsp" 
      />
  </parameter>

  <!-- This is the parameter that is used to set ACLs, it's set to the 
  application path filled in by the user.

  Note the '$' at the end of the match in the parameterEntry below.
  This is important, as there is another ACL set on a file underneath
  App_Data.  If the '$' isn't there, the regex will match *both* the
  setAcl directives in the manifest, preventing the second setAcl
  parameter from working.
  -->
  <parameter 
    name="SetAcl1" 
    description="Automatically sets write access for the App_Data path" 
    defaultValue="{Application Path}/App_Data" 
    tags="hidden"
    >
    <parameterEntry 
      type="ProviderPath" 
      scope="setAcl" 
      match="gsp/App_Data$" 
      />
  </parameter>

  <!-- This is the parameter that is used to set ACLs, it's set to the application path filled in by the user -->
  <parameter 
    name="SetAcl2" 
    description="Automatically sets write access for the app" 
    defaultValue="{Application Path}/gs/mediaobjects" 
    tags="hidden"
    >
    <parameterEntry 
      type="ProviderPath" 
      scope="setAcl" 
      match="gsp/gs/mediaobjects" 
      />
  </parameter>

  <!-- This is the parameter that is used to set ACLs, it's set to the application path filled in by the user -->
  <parameter 
    name="SetAcl3" 
    description="Automatically sets write access for the app" 
    defaultValue="{Application Path}/App_Data/_SqlMembership.txt" 
    tags="hidden"
    >
    <parameterEntry 
      type="ProviderPath" 
      scope="setAcl" 
      match="gsp/App_Data/_SqlMembership.txt" 
      />
  </parameter> 

  <!-- This is the parameter that is used to set ACLs, it's set to the application path filled in by the user -->
  <parameter 
    name="SetAcl4" 
    description="Automatically sets write access for the app" 
    defaultValue="{Application Path}/App_Data/install_temp" 
    tags="hidden"
    >
    <parameterEntry 
      type="ProviderPath" 
      scope="setAcl" 
      match="gsp/App_Data/install_temp" 
      />
  </parameter>
 <!--  Parameters to prompt for Gallery server pro administrator credentials to be created during install  -->
<parameter name="Gallery Server Pro Administrator Name" description="Please provide a user name to use for administering Gallery Server Pro" defaultValue="Admin" tags="NoStore">
<parameterEntry type="TextFile" scope="gsp\\App_Data\\_SqlMembership.txt" match="PlaceholderForAdminName" />
</parameter>

<parameter name="Gallery Server Pro Administrator Password" description="Please provide a password for the administrator" tags="password,New,NoStore">
<parameterEntry type="TextFile" scope="gsp\\App_Data\\_SqlMembership.txt" match="PlaceholderForAdminPassword" />
</parameter>

</parameters>

Sample App_Data\_SqlMembership.txt file

PlaceholderForAdminName
PlaceholderForAdminPassword