Merge
This commit is contained in:
commit
ea0d9a0cbd
228 changed files with 67465 additions and 2202 deletions
|
@ -3,7 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>3.7</ProductVersion>
|
||||
<ProductVersion>3.9</ProductVersion>
|
||||
<ProjectGuid>{ead7c528-ea3d-40e8-9688-9f1d8dc8d758}</ProjectGuid>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputName>Websitepanel-SchedulerService</OutputName>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>3.7</ProductVersion>
|
||||
<ProductVersion>3.9</ProductVersion>
|
||||
<ProjectGuid>f963a4af-cc72-4512-b636-829345c35318</ProjectGuid>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputName>WebsitePanelInstaller</OutputName>
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\Release\EnterpriseServer -o Setup.WIXInstaller\EnterpriseServerFiles.wxs -gg -sreg -srd -var wix.BUILDESPATH -cg EnterpriseServerFiles -dr INSTALLENTERPRISESERVERFOLDER
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\debug\EnterpriseServer -o Setup.WIXInstaller\EnterpriseServerFiles.wxs -gg -sreg -srd -var wix.BUILDESPATH -cg EnterpriseServerFiles -dr INSTALLENTERPRISESERVERFOLDER
|
||||
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\Release\Server -o Setup.WIXInstaller\ServerFiles.wxs -gg -sreg -srd -var wix.BUILDSPATH -cg ServerFiles -dr INSTALLSERVERFOLDER
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\debug\Server -o Setup.WIXInstaller\ServerFiles.wxs -gg -sreg -srd -var wix.BUILDSPATH -cg ServerFiles -dr INSTALLSERVERFOLDER
|
||||
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\Release\Portal -o Setup.WIXInstaller\PortalFiles.wxs -gg -sreg -srd -var wix.BUILDPPATH -cg PortalFiles -dr INSTALLPORTALFOLDER
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\debug\Portal -o Setup.WIXInstaller\PortalFiles.wxs -gg -sreg -srd -var wix.BUILDPPATH -cg PortalFiles -dr INSTALLPORTALFOLDER
|
||||
|
||||
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\debug\WebDavPortal -o Setup.WIXInstaller\WebDavPortalFiles.wxs -gg -sreg -srd -var wix.BUILDWDPPATH -cg WebDavPortalFiles -dr INSTALLWEBDAVPORTALFOLDER
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Include>
|
||||
<?define PROJECTPATH = "..\..\..\WebsitePanel"?>
|
||||
<?define VERSION="2.1"?>
|
||||
<?define NAME="WebsitePanel"?>
|
||||
<?define ServerTitle="Server"?>
|
||||
<?define ServerDescription="WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one."?>
|
||||
<?define EServerTitle="Enterprise Server"?>
|
||||
<?define EServerDescription="Enterprise Server is the heart of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications."?>
|
||||
<?define PortalTitle="Portal"?>
|
||||
<?define PortalDescription="WebsitePanel Portal is a control panel itself with user interface which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc."?>
|
||||
<?define VERSION="$(var.Version)"?>
|
||||
<?define sql_release_version = "$(var.Version)"?> <!--N'${release.version}'-->
|
||||
<?define sql_build_date = "$(var.BuildDate)"?> <!-- '${release.date}T00:00:00' - ISO 8601 Format (YYYY-MM-DDTHH:MM:SS) -->
|
||||
</Include>
|
||||
|
|
|
@ -0,0 +1,148 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
<copyright file="VerifyReadyDlg.wxs" company="Outercurve Foundation">
|
||||
Copyright (c) 2004, Outercurve Foundation.
|
||||
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||
The license and further copyright text can be found in the file
|
||||
LICENSE.TXT at the root directory of the distribution.
|
||||
</copyright>
|
||||
-->
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<UI>
|
||||
<Dialog Id="CustomVerifyReadyDlg" Width="370" Height="270" Title="!(loc.VerifyReadyDlg_Title)" TrackDiskSpace="yes">
|
||||
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)">
|
||||
<Condition Action="show">NOT Installed AND ALLUSERS</Condition>
|
||||
<Condition Action="enable">NOT Installed</Condition>
|
||||
<Condition Action="default">NOT Installed</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="InstallNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)">
|
||||
<Condition Action="show">NOT Installed AND NOT ALLUSERS</Condition>
|
||||
<Condition Action="enable">NOT Installed</Condition>
|
||||
<Condition Action="default">NOT Installed</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Change" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgChange)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change" AND ALLUSERS AND (ADDLOCAL OR REMOVE)</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Change"</Condition>
|
||||
<Condition Action="default">WixUI_InstallMode = "Change"</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="ChangeNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgChange)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change" AND (NOT ALLUSERS OR (NOT ADDLOCAL AND NOT REMOVE))</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Change"</Condition>
|
||||
<Condition Action="default">WixUI_InstallMode = "Change"</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Repair" Type="PushButton" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgRepair)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Repair"</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Repair"</Condition>
|
||||
<Condition Action="default">WixUI_InstallMode = "Repair"</Condition>
|
||||
<Publish Event="ReinstallMode" Value="ecmus"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="Reinstall" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Remove" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgRemove)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove" AND ALLUSERS</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Remove"</Condition>
|
||||
<Publish Event="Remove" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="RemoveNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgRemove)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove" AND NOT ALLUSERS</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Remove"</Condition>
|
||||
<Publish Event="Remove" Value="All"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="Update" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgUpdate)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Update" AND ALLUSERS</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Update"</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
<Control Id="UpdateNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgUpdate)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Update" AND NOT ALLUSERS</Condition>
|
||||
<Condition Action="enable">WixUI_InstallMode = "Update"</Condition>
|
||||
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
|
||||
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
|
||||
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
|
||||
</Control>
|
||||
|
||||
<Control Id="InstallTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgInstallTitle)">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="InstallText" Type="Text" X="25" Y="70" Width="320" Height="160" Hidden="yes" Text="!(loc.VerifyReadyDlgInstallText) [CUSTOM_INSTALL_TEXT]" Transparent="yes">
|
||||
<Condition Action="show">NOT Installed</Condition>
|
||||
</Control>
|
||||
<Control Id="ChangeTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgChangeTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change"</Condition>
|
||||
</Control>
|
||||
<Control Id="ChangeText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" Text="!(loc.VerifyReadyDlgChangeText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Change"</Condition>
|
||||
</Control>
|
||||
<Control Id="RepairTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgRepairTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Repair"</Condition>
|
||||
</Control>
|
||||
<Control Id="RepairText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" NoPrefix="yes" Text="!(loc.VerifyReadyDlgRepairText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Repair"</Condition>
|
||||
</Control>
|
||||
<Control Id="RemoveTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgRemoveTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove"</Condition>
|
||||
</Control>
|
||||
<Control Id="RemoveText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" NoPrefix="yes" Text="!(loc.VerifyReadyDlgRemoveText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Remove"</Condition>
|
||||
</Control>
|
||||
<Control Id="UpdateTitle" Type="Text" X="15" Y="15" Width="300" Height="15" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="!(loc.VerifyReadyDlgUpdateTitle)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Update"</Condition>
|
||||
</Control>
|
||||
<Control Id="UpdateText" Type="Text" X="25" Y="70" Width="320" Height="80" Hidden="yes" NoPrefix="yes" Text="!(loc.VerifyReadyDlgUpdateText)">
|
||||
<Condition Action="show">WixUI_InstallMode = "Update"</Condition>
|
||||
</Control>
|
||||
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="156" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
|
||||
<Condition Action="default">WixUI_InstallMode = "Remove"</Condition>
|
||||
</Control>
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="!(loc.VerifyReadyDlgBannerBitmap)" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
</Dialog>
|
||||
</UI>
|
||||
</Fragment>
|
||||
</Wix>
|
|
@ -1,359 +1,295 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?include Config.wxi?>
|
||||
<Product Id="*" Name="WebsitePanel" Language="1033" Version="$(var.VERSION)" Manufacturer="Outercurve Foundation"
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"
|
||||
xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension"
|
||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||
<?include Config.Wxi?>
|
||||
<Product Id="*" Name="$(var.NAME)" Language="1033" Version="$(var.VERSION)" Manufacturer="Outercurve Foundation"
|
||||
UpgradeCode="F59D3AED-C1B8-46B4-AFE2-A97F3B7DFB5E">
|
||||
|
||||
<Package InstallerVersion="200" Compressed="yes" />
|
||||
<Media Id="1" EmbedCab="yes" Cabinet="websitepanel.cab" />
|
||||
|
||||
<Feature Id="ServerFeature" Title="Server" Level="1" ConfigurableDirectory="INSTALLSERVERFOLDER" AllowAdvertise="no"
|
||||
Description="WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one.">
|
||||
<Media Id="1" EmbedCab="yes" Cabinet="websitepanel_cab" />
|
||||
<!-- Use WIX_UPGRADE_DETECTED -->
|
||||
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed."/>
|
||||
<Feature Id ="WebsitePanel" Title="Website Panel" Level="1" ConfigurableDirectory="WEBSITEPANELDIR" AllowAdvertise="no" Display="expand"
|
||||
Description="WebsitePanel is a complete portal for Cloud Computing Companies and IT Providers to automate the provisioning of a full suite of services on Windows servers.">
|
||||
<ComponentGroupRef Id="WebsitePanelFiles" />
|
||||
<Feature Id="ServerFeature" Title="$(var.ServerTitle)" Level="1" ConfigurableDirectory="INSTALLSERVERFOLDER" AllowAdvertise="no"
|
||||
Description="$(var.ServerDescription)">
|
||||
<ComponentGroupRef Id="ServerFiles" />
|
||||
</Feature>
|
||||
|
||||
<Feature Id="EnterpriseServerFeature" Title="Enterprise Server" Level="1" ConfigurableDirectory="INSTALLENTERPRISESERVERFOLDER" AllowAdvertise="no"
|
||||
Description="Enterprise Server is the heart of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications.">
|
||||
<Feature Id="EnterpriseServerFeature" Title="$(var.EServerTitle)" Level="1" ConfigurableDirectory="INSTALLENTERPRISESERVERFOLDER" AllowAdvertise="no"
|
||||
Description="$(var.ServerDescription)">
|
||||
<ComponentGroupRef Id="EnterpriseServerFiles" />
|
||||
<ComponentGroupRef Id="DatabaseInstallation"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="PortalFeature" Title="Portal" Level="1" ConfigurableDirectory="INSTALLPORTALFOLDER" AllowAdvertise="no"
|
||||
Description="WebsitePanel Portal is a control panel itself with user interface which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc.">
|
||||
<Feature Id="PortalFeature" Title="$(var.PortalTitle)" Level="1" ConfigurableDirectory="INSTALLPORTALFOLDER" AllowAdvertise="no"
|
||||
Description="$(var.PortalDescription)">
|
||||
<ComponentGroupRef Id="PortalFiles" />
|
||||
</Feature>
|
||||
|
||||
<Feature Id="SchedulerServiceFeature" Title="Scheduler Service" Level="1" ConfigurableDirectory="INSTALLSERVICEFOLDER" AllowAdvertise="no"
|
||||
Description="WebsitePanel scheduler Service">
|
||||
<Feature Id="SchedulerServiceFeature" Title="Scheduler Service" Level="1" ConfigurableDirectory="INSTALLSERVICEFOLDER" AllowAdvertise="no" Description="WebsitePanel Scheduler Service">
|
||||
<ComponentGroupRef Id="SchedulerServiceFiles" />
|
||||
</Feature>
|
||||
|
||||
<Property Id="BannerBitmap">bannrbmp</Property>
|
||||
|
||||
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
|
||||
|
||||
<Upgrade Id="F59D3AED-C1B8-46B4-AFE2-A97F3B7DFB5E">
|
||||
<UpgradeVersion
|
||||
Minimum="1.0.0.0" Maximum="99.0.0.0"
|
||||
Property="PREVIOUSVERSIONSINSTALLED"
|
||||
IncludeMinimum="yes" IncludeMaximum="no" />
|
||||
</Upgrade>
|
||||
|
||||
<WixVariable Id="WixUIBannerBmp" Value="bannrbmp.bmp" />
|
||||
<WixVariable Id="WixUIDialogBmp" Value="dlgbmp.bmp" />
|
||||
<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
|
||||
|
||||
<WixVariable Id ="BUILDESPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\EnterpriseServer" />
|
||||
<WixVariable Id ="BUILDSPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Server" />
|
||||
<WixVariable Id ="BUILDPPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Portal" />
|
||||
|
||||
<Icon Id="WebSitePanel.ico" SourceFile="WebSitePanel.ico" />
|
||||
|
||||
<Property Id="ARPPRODUCTICON" Value="WebSitePanel.ico" />
|
||||
|
||||
<Property Id="SERVERNAME" Value="localhost\SQLExpress" />
|
||||
<Property Id="CONNECTIONSTRING" Value="1" />
|
||||
<Property Id="DATABASENAME" Value="WebsitePanel" />
|
||||
<Property Id="AUTHENTICATIONTYPE" Value="Windows Authentication" />
|
||||
|
||||
<Binary Id="bannrbmp" SourceFile="bannrbmp.bmp" />
|
||||
|
||||
<Feature Id ="WDPortalFeature" Title="WebDAV Portal" Level="100" ConfigurableDirectory="INSTALLWEBDAVPORTALFOLDER" AllowAdvertise ="no"
|
||||
Description="WebsitePanel WebDAV Portal">
|
||||
<ComponentGroupRef Id="WebDavPortalFiles"/>
|
||||
</Feature>
|
||||
</Feature>
|
||||
<!--Destinations.-->
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="WEBSITEPANELDIR" Name="WebsitePanel">
|
||||
<Directory Id="INSTALLSERVICEFOLDER" Name="SchedulerService" />
|
||||
<Directory Id="INSTALLSERVERFOLDER" Name="Server" />
|
||||
<Directory Id="INSTALLENTERPRISESERVERFOLDER" Name="Enterprise Server" />
|
||||
<Directory Id="INSTALLPORTALFOLDER" Name="Portal" />
|
||||
<Directory Id="INSTALLWEBDAVPORTALFOLDER" Name="WebDavPortal"/>
|
||||
</Directory>
|
||||
</Directory>
|
||||
<EnsureTable Id="ComboBox"/>
|
||||
<EnsureTable Id="ListView"/>
|
||||
<UI Id="CustomInstaller">
|
||||
<UIRef Id="WixUI_Mondo" />
|
||||
|
||||
<DialogRef Id="CustomVerifyReadyDlg"/>
|
||||
<TextStyle Id="DlgTitleFont" FaceName="Tahoma" Size="8" Bold="yes" />
|
||||
<Dialog Id="SWebDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="SUserAccountDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Server web settings." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Web Settings" />
|
||||
<Control Type="Text" Id="IPaddressLabel" Width="73" Height="15" X="38" Y="79" Text="IP address:" />
|
||||
<Control Type="Edit" Id="IPaddressEdit" Width="214" Height="15" X="34" Y="98" Property="SIP1" />
|
||||
<Control Type="ComboBox" Id="SERVER_IP_COMBO" Width="214" Height="15" X="34" Y="98" Property="PI_SERVER_IP">
|
||||
<ComboBox Property="PI_SERVER_IP" />
|
||||
</Control>
|
||||
<Control Type="Text" Id="PortLabel" Width="73" Height="15" X="259" Y="79" Text="Port:" />
|
||||
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="SPORT">
|
||||
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="PI_SERVER_PORT">
|
||||
</Control>
|
||||
<Control Type="Text" Id="HostnameLabel" Width="73" Height="15" X="38" Y="124" Text="Host name:" />
|
||||
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="SHOSTNAME" Hidden="no">
|
||||
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="PI_SERVER_HOST">
|
||||
</Control>
|
||||
<Control Type="Text" Id="HintLabel" Width="190" Height="8" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
|
||||
<Control Type="Text" Id="HintLabel" Width="190" Height="16" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
|
||||
<Control Type="Text" Id="IntroLabel" Width="321" Height="30" X="26" Y="191" Text="Make sure the specified host name is pointed to this web site; otherwise you might not be able to access the application." />
|
||||
<Control Type="GroupBox" Id="WebSiteSettingsGroup" Width="330" Height="124" X="22" Y="60" Text="Web Site Settings" />
|
||||
</Dialog>
|
||||
<Dialog Id="SUserAccountDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="SWebDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="ServerPasswordDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Server security settings." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Security Settings" />
|
||||
<Control Type="Text" Id="DomainLabel" Width="73" Height="15" X="58" Y="116" Text="Domain:" />
|
||||
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="SDOMAINNAME" />
|
||||
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="PI_SERVER_DOMAIN">
|
||||
<Condition Action="disable">NOT(PI_SERVER_CREATE_AD = "1")</Condition>
|
||||
<Condition Action="enable">PI_SERVER_CREATE_AD = "1"</Condition>
|
||||
</Control>
|
||||
<Control Type="Text" Id="UserLabel" Width="73" Height="15" X="58" Y="142" Text="User Name:" />
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="SUSERNAME">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Edit" Id="LoginEdit" X="142" Y="142" Width="163" Height="15" Property="PI_SERVER_LOGIN" />
|
||||
<Control Type="Text" Id="PasswordLabel" Width="73" Height="15" X="58" Y="169" Text="Password:" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="SPASSWORD" Hidden="no" Password="yes">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="PI_SERVER_PASSWORD" Password="yes" />
|
||||
<Control Type="Text" Id="ConfirmPasswordLabel" Width="73" Height="15" X="58" Y="195" Text="Confirm Password:" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="SCONFIRMPASSWORD" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="PI_SERVER_PASSWORD_CONFIRM" Password="yes" />
|
||||
<Control Type="Text" Id="IntroLabel" Width="341" Height="30" X="15" Y="62" Text="Please specify a new Windows user account for the web site anonymous access and application pool identity." />
|
||||
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="SCREATEADACOUNT" />
|
||||
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="PI_SERVER_CREATE_AD" CheckBoxValue="1" />
|
||||
<Control Type="PushButton" Id="SelectUserButton" X="305" Y="142" Width="15" Height="15" Text="..." />
|
||||
</Dialog>
|
||||
<Dialog Id="ServerPasswordDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="SUserAccountDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="ESWebDlg" Order="9">&EnterpriseServerFeature=3</Publish>
|
||||
<Publish Event="NewDialog" Value="DatabaseConnectionDlg" Order="8">&SchedulerServiceFeature=3</Publish>
|
||||
<Publish Event="NewDialog" Value="PWebDlg" Order="7">&PortalFeature=3</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify a new password for this server." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Set Server Password" />
|
||||
<Control Type="Text" Id="PasswordLabel" Width="50" Height="17" X="52" Y="110" Text="Password:" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="110" Property="SERVERPASSWORD" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="110" Property="SERVER_ACCESS_PASSWORD" Password="yes" />
|
||||
<Control Type="Text" Id="ConfirmPasswordLabel" Width="72" Height="17" X="52" Y="136" Text="Confirm password:" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="136" Property="CONFIRMSERVERPASSWORD" Hidden="no" Password="yes" />
|
||||
<Control Type="CheckBox" Id="ChangeServerPasswordCheckBox" Width="160" Height="17" X="52" Y="84" Property="CHANGESERVERAPASSWORD" Text="Reset Server Password" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="136" Property="SERVER_ACCESS_PASSWORD_CONFIRM" Password="yes" />
|
||||
<Control Type="Text" Id="IntroLabel" Width="341" Height="27" X="15" Y="52" Text="Please, specify a password which will be used to access this Server from the Enterprise Server component. Click Next to continue." />
|
||||
</Dialog>
|
||||
|
||||
<Dialog Id="ESWebDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="ServerPasswordDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="ESUserAccountDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Enterprise Server web settings." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Web Settings" />
|
||||
<Control Type="Text" Id="IPaddressLabel" Width="73" Height="15" X="38" Y="79" Text="IP address:" />
|
||||
<Control Type="Edit" Id="IPaddressEdit" Width="214" Height="15" X="34" Y="98" Property="ESIP1" />
|
||||
<Control Type="ComboBox" Id="ESERVER_IP_COMBO" Width="214" Height="15" X="34" Y="98" Property="PI_ESERVER_IP">
|
||||
<ComboBox Property="PI_ESERVER_IP" />
|
||||
</Control>
|
||||
<Control Type="Text" Id="PortLabel" Width="73" Height="15" X="259" Y="79" Text="Port:" />
|
||||
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="ESPORT" />
|
||||
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="PI_ESERVER_PORT" />
|
||||
<Control Type="Text" Id="HostnameLabel" Width="73" Height="15" X="38" Y="124" Text="Host name:" />
|
||||
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="ESHOSTNAME" Hidden="no" />
|
||||
<Control Type="Text" Id="HintLabel" Width="190" Height="8" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
|
||||
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="PI_ESERVER_HOST" />
|
||||
<Control Type="Text" Id="HintLabel" Width="190" Height="16" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
|
||||
<Control Type="Text" Id="IntroLabel" Width="321" Height="30" X="26" Y="191" Text="Make sure the specified host name is pointed to this web site; otherwise you might not be able to access the application." />
|
||||
<Control Type="GroupBox" Id="WebSiteSettingsGroup" Width="330" Height="124" X="22" Y="60" Text="Web Site Settings" />
|
||||
</Dialog>
|
||||
<Dialog Id="ESUserAccountDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="ESWebDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="ServerAdminPasswordDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Enterprise Server security settings." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Security Settings" />
|
||||
<Control Type="Text" Id="DomainLabel" Width="73" Height="15" X="58" Y="116" Text="Domain:" />
|
||||
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="ESDOMAINNAME" />
|
||||
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="PI_ESERVER_DOMAIN">
|
||||
<Condition Action="disable">NOT(PI_ESERVER_CREATE_AD = "1")</Condition>
|
||||
<Condition Action="enable">PI_ESERVER_CREATE_AD = "1"</Condition>
|
||||
</Control>
|
||||
<Control Type="Text" Id="UserLabel" Width="73" Height="15" X="58" Y="142" Text="User Name:" />
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="ESUSERNAME">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="PI_ESERVER_LOGIN"/>
|
||||
<Control Type="Text" Id="PasswordLabel" Width="73" Height="15" X="58" Y="169" Text="Password:" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="ESPASSWORD" Hidden="no" Password="yes">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="PI_ESERVER_PASSWORD" Password="yes"/>
|
||||
<Control Type="Text" Id="ConfirmPasswordLabel" Width="73" Height="15" X="58" Y="195" Text="Confirm Password:" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="ESCONFIRMPASSWORD" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="PI_ESERVER_PASSWORD_CONFIRM" Password="yes"/>
|
||||
<Control Type="Text" Id="IntroLabel" Width="341" Height="30" X="15" Y="62" Text="Please specify a new Windows user account for the web site anonymous access and application pool identity." />
|
||||
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="ESCREATEADACOUNT" />
|
||||
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="PI_ESERVER_CREATE_AD" CheckBoxValue="1"/>
|
||||
<Control Type="PushButton" Id="SelectUserButton" X="305" Y="142" Width="15" Height="15" Text="..." />
|
||||
</Dialog>
|
||||
<Dialog Id="ServerAdminPasswordDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="ESUserAccountDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="DatabaseConnectionDlg" Order="9">&EnterpriseServerFeature=3</Publish>
|
||||
<Publish Event="NewDialog" Value="DatabaseConnectionDlg" Order="8">&SchedulerServiceFeature=3</Publish>
|
||||
<Publish Event="NewDialog" Value="PWebDlg" Order="7">&PortalFeature=3</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify a new password for the serveradmin account." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Set Administrator Password" />
|
||||
<Control Type="Text" Id="PasswordLabel" Width="50" Height="17" X="52" Y="90" Text="Password:" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="90" Property="SERVERADMINPASSWORD" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="90" Property="SERVERADMIN_PASSWORD" Password="yes"/>
|
||||
<Control Type="Text" Id="ConfirmPasswordLabel" Width="72" Height="17" X="52" Y="116" Text="Confirm password:" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="116" Property="CONFIRMSERVERADMINPASSWORD" Hidden="no" Password="yes">
|
||||
</Control>
|
||||
<Control Type="CheckBox" Id="ChangeServeradminPasswordCheckBox" Width="160" Height="17" X="52" Y="64" Property="CHANGESERVERADMINPASSWORD" Text="Reset Serveradmin Password" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="116" Property="SERVERADMIN_PASSWORD_CONFIRM" Password="yes"/>
|
||||
</Dialog>
|
||||
|
||||
<Dialog Id="DatabaseConnectionDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="ServerAdminPasswordDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="PWebDlg" Order="7">&PortalFeature=3</Publish>
|
||||
<Publish Event="NewDialog" Value="VerifyReadyDlg" Order="6">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<Condition Action="disable">DB_CONN_CORRECT="0"</Condition>
|
||||
<Condition Action="enable">DB_CONN_CORRECT="1"</Condition>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Configure WebsitePanel database connection string" />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Database connection string" />
|
||||
<Control Type="Text" Id="ServerLabel" Width="50" Height="17" X="75" Y="68" Text="SQL Server:" />
|
||||
<Control Type="Edit" Id="ServerEdit" Width="163" Height="15" X="142" Y="68" Property="SQLSERVERNAME" />
|
||||
<Control Type="ComboBox" Id="SqlServerCombo" Width="163" Height="15" X="142" Y="68" Property="DB_SERVER">
|
||||
<ComboBox Property="DB_SERVER">
|
||||
<ListItem Text="(local)" Value="localhost\SQLExpress"/>
|
||||
</ComboBox>
|
||||
</Control>
|
||||
<Control Type="Text" Id="AuthenticationLabel" Width="70" Height="17" X="62" Y="94" Text="Authentication:" />
|
||||
<Control Type="ComboBox" Id="AuthenticationCombo" Width="163" Height="16" X="142" Y="94" Property="SQLAUTHENTICATIONTYPE">
|
||||
<ComboBox Property="SQLAUTHENTICATIONTYPE">
|
||||
<Control Type="ComboBox" Id="DB_AUTH_COMBO" Width="163" Height="16" X="142" Y="94" Property="DB_AUTH" ComboList="yes">
|
||||
<ComboBox Property="DB_AUTH">
|
||||
<ListItem Text="Windows Authentication" Value="Windows Authentication" />
|
||||
<ListItem Text="SQL Server Authentication" Value="SQL Server Authentication" />
|
||||
</ComboBox>
|
||||
</Control>
|
||||
<Control Type="Text" Id="LoginLabel" Width="50" Height="17" X="71" Y="120" Text="Login Name:" />
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="120" Property="SQLLOGIN">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="120" Property="DB_LOGIN">
|
||||
<Condition Action="disable">DB_AUTH = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(DB_AUTH = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Text" Id="PasswordLabel" Width="50" Height="17" X="80" Y="146" Text="Password:" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="146" Property="SQLPASSWORD" Hidden="no" Password="yes">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="146" Property="DB_PASSWORD" Hidden="no" Password="yes">
|
||||
<Condition Action="disable">DB_AUTH = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(DB_AUTH = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Text" Id="DatabaseLabel" Width="50" Height="17" X="80" Y="172" Text="Database:" />
|
||||
<Control Type="Edit" Id="DatabaseEdit" Width="163" Height="15" X="142" Y="172" Property="SQLDATABASENAME" />
|
||||
<Control Type="Edit" Id="DB_DATABASE_EDIT" Width="163" Height="15" X="142" Y="172" Property="DB_DATABASE">
|
||||
<Condition Action="disable">DB_CONN_CORRECT="0"</Condition>
|
||||
<Condition Action="enable">DB_CONN_CORRECT="1"</Condition>
|
||||
</Control>
|
||||
<Control Type="PushButton" Id="SelectDbButton" X="305" Y="172" Width="15" Height="15" Text="...">
|
||||
<Condition Action="disable">DB_CONN_CORRECT="0"</Condition>
|
||||
<Condition Action="enable">DB_CONN_CORRECT="1"</Condition>
|
||||
</Control>
|
||||
<Control Type="PushButton" Id ="CheckConnButton" X="160" Y="200" Width="64" Height="17" Text="Test connection" />
|
||||
</Dialog>
|
||||
<Dialog Id="ConnectionWarningDlg" Width="250" Height="85" Title="[ProductName] Setup" NoMinimize="yes">
|
||||
<Control Id="Ok" Type="PushButton" X="184" Y="60" Width="56" Height="17" Text="Ok">
|
||||
<Publish Event="EndDialog" Value="Return">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Ok" Type="PushButton" X="184" Y="60" Width="56" Height="17" Text="Ok" Default="yes" Cancel="yes"/>
|
||||
<Control Id="Text" Type="Text" X="8" Y="8" Width="221" Height="30">
|
||||
<Text>Connection not valid.</Text>
|
||||
<Text>Connection not valid. [DB_CONN_MSG]</Text>
|
||||
</Control>
|
||||
</Dialog>
|
||||
|
||||
<Dialog Id="SelectDbDlg" Width="135" Height="55" Title="Select database" NoMinimize="yes">
|
||||
<Control Type="ComboBox" Id ="DB_SELECT_COMBO" X="5" Y="10" Width="125" Height="17" ComboList="yes" Property="DB_SELECT">
|
||||
<ComboBox Property="DB_SELECT" />
|
||||
</Control>
|
||||
<Control Id="Ok" Type="PushButton" X="5" Y="30" Width="60" Height="17" Text="Ok" Default="no" Cancel="yes"/>
|
||||
<Control Id="Cancel" Type="PushButton" X="70" Y="30" Width="60" Height="17" Text="Cancecl" Default="yes" Cancel="yes"/>
|
||||
</Dialog>
|
||||
<Dialog Id="PWebDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="DatabaseConnectionDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="PUserAccountDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Portal web settings." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Web Settings" />
|
||||
<Control Type="Text" Id="IPaddressLabel" Width="73" Height="15" X="38" Y="79" Text="IP address:" />
|
||||
<Control Type="Edit" Id="IPaddressEdit" Width="214" Height="15" X="34" Y="98" Property="PIP1" />
|
||||
<Control Type="ComboBox" Id="PORTAL_IP_COMBO" Width="214" Height="15" X="34" Y="98" Property="PI_PORTAL_IP">
|
||||
<ComboBox Property="PI_PORTAL_IP" />
|
||||
</Control>
|
||||
<Control Type="Text" Id="PortLabel" Width="73" Height="15" X="259" Y="79" Text="Port:" />
|
||||
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="PPORT" />
|
||||
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="PI_PORTAL_PORT" />
|
||||
<Control Type="Text" Id="HostnameLabel" Width="73" Height="15" X="38" Y="124" Text="Host name:" />
|
||||
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="PHOSTNAME" Hidden="no" />
|
||||
<Control Type="Text" Id="HintLabel" Width="190" Height="8" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
|
||||
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="PI_PORTAL_HOST" />
|
||||
<Control Type="Text" Id="HintLabel" Width="190" Height="16" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
|
||||
<Control Type="Text" Id="IntroLabel" Width="321" Height="30" X="26" Y="191" Text="Make sure the specified host name is pointed to this web site; otherwise you might not be able to access the application." />
|
||||
<Control Type="GroupBox" Id="WebSiteSettingsGroup" Width="330" Height="124" X="22" Y="60" Text="Web Site Settings" />
|
||||
</Dialog>
|
||||
<Dialog Id="PUserAccountDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="PWebDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="ESUrlDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Portal security settings." />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Security Settings" />
|
||||
<Control Type="Text" Id="DomainLabel" Width="73" Height="15" X="58" Y="116" Text="Domain:" />
|
||||
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="PDOMAINNAME" />
|
||||
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="PI_PORTAL_DOMAIN">
|
||||
<Condition Action="disable">NOT(PI_PORTAL_CREATE_AD = "1")</Condition>
|
||||
<Condition Action="enable">PI_PORTAL_CREATE_AD = "1"</Condition>
|
||||
</Control>
|
||||
<Control Type="Text" Id="UserLabel" Width="73" Height="15" X="58" Y="142" Text="User Name:" />
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="PUSERNAME">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="PI_PORTAL_LOGIN"/>
|
||||
<Control Type="Text" Id="PasswordLabel" Width="73" Height="15" X="58" Y="169" Text="Password:" />
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="PPASSWORD" Hidden="no" Password="yes">
|
||||
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
|
||||
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
|
||||
</Control>
|
||||
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="PI_PORTAL_PASSWORD" Password="yes"/>
|
||||
<Control Type="Text" Id="ConfirmPasswordLabel" Width="73" Height="15" X="58" Y="195" Text="Confirm Password:" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="PCONFIRMPASSWORD" />
|
||||
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="PI_PORTAL_PASSWORD_CONFIRM" Password="yes"/>
|
||||
<Control Type="Text" Id="IntroLabel" Width="341" Height="30" X="15" Y="62" Text="Please specify a new Windows user account for the web site anonymous access and application pool identity." />
|
||||
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="PCREATEADACOUNT" />
|
||||
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="PI_PORTAL_CREATE_AD" CheckBoxValue="1" />
|
||||
<Control Type="PushButton" Id="SelectUserButton" X="305" Y="142" Width="15" Height="15" Text="..." />
|
||||
</Dialog>
|
||||
<Dialog Id="ESUrlDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
|
||||
<Publish Event="NewDialog" Value="PUserAccountDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Enter the Enterprise Server URL" />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Enterprise Server URL" />
|
||||
<Control Type="Text" Id="UrlLabel" Width="88" Height="17" X="50" Y="110" Text="Enterprise Server URL:" />
|
||||
<Control Type="Edit" Id="ESUrlEdit" Width="163" Height="15" X="142" Y="110" Property="ESURL" />
|
||||
<Control Type="Edit" Id="ESUrlEdit" Width="163" Height="15" X="142" Y="110" Property="PI_ESERVER_URL" />
|
||||
<Control Type="Text" Id="IntroLabel" Width="341" Height="27" X="15" Y="52" Text="Please, specify URL which will be used to access the Enterprise Server from the Portal. Click Next to continue." />
|
||||
</Dialog>
|
||||
|
||||
<Dialog Id="FinishDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
|
||||
<Publish Event="NewDialog" Value="FinishDlg">1</Publish>
|
||||
</Control>
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
||||
|
@ -361,61 +297,395 @@
|
|||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Click Finish to exit the wizard." />
|
||||
<Control Type="ScrollableText" Id="Log" Width="360" Height="174" X="4" Y="52" Property="INSTLOG" />
|
||||
</Dialog>
|
||||
|
||||
|
||||
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg" Order="3">LicenseAccepted = "1"</Publish>
|
||||
|
||||
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="3"></Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="SWebDlg" Order="10">&ServerFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="ESWebDlg" Order="9">&EnterpriseServerFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="DatabaseConnectionDlg" Order="8">&SchedulerServiceFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="PWebDlg" Order="7">&PortalFeature=3</Publish>
|
||||
|
||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="ESUrlDlg">1</Publish>
|
||||
|
||||
<TextStyle Id="DlgTitleFont" FaceName="Tahoma" Size="8" Bold="yes" />
|
||||
<Dialog Id="PrereqCheckDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back" />
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next" Disabled="yes">
|
||||
<Condition Action="enable">PI_PREREQ_OS="1" AND PI_PREREQ_IIS="1" AND PI_PREREQ_ASPNET="1"</Condition>
|
||||
</Control>
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel" />
|
||||
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
|
||||
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
||||
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
|
||||
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Prerequisities check" />
|
||||
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Software requirements and system state checks" />
|
||||
<Control Id="ReqGroupBox" Type="GroupBox" X="4" Y="49" Width="180" Height="175" Property="REQGROUP" Text="Requirements"/>
|
||||
<Control Id="LogGroupBox" Type="GroupBox" X="186" Y="49" Width="180" Height="175" Property="LOGGROUP" Text="Check log"/>
|
||||
<Control Id="ReqLogText" Type="Text" X="190" Y="60" Width="173" Height="159" Sunken="yes" Disabled="no" Property="REQLOG" Text="[PI_PREREQ_LOG]"/>
|
||||
<Control Id="ReqCheckView" Type="ListView" X="9" Y="60" Width="173" Height="159" Property="REQCHECKLIST" Sunken="no" Disabled="no" IconSize="16">
|
||||
<ListView Property="REQCHECKLIST">
|
||||
</ListView>
|
||||
</Control>
|
||||
</Dialog>
|
||||
<Dialog Id="ValidateDlg" Width="250" Height="85" Title="[ProductName] Setup" NoMinimize="yes">
|
||||
<Control Id="Ok" Type="PushButton" X="184" Y="60" Width="56" Height="17" Text="Ok" Default="yes" Cancel="yes"/>
|
||||
<Control Id="Text" Type="Text" X="8" Y="8" Width="221" Height="30">
|
||||
<Text>[VALIDATE_MSG]</Text>
|
||||
</Control>
|
||||
</Dialog>
|
||||
<!--All events and actions in one place-->
|
||||
<!--LicenseAgreementDlg-->
|
||||
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="PrereqCheckDlg" Order="3">LicenseAccepted = "1"</Publish>
|
||||
<!--PrereqCheckDlg-->
|
||||
<Publish Dialog="PrereqCheckDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
|
||||
<Publish Dialog="PrereqCheckDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg">1</Publish>
|
||||
<Publish Dialog="PrereqCheckDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--CustomizeDlg-->
|
||||
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="PrereqCheckDlg" Order="3">1</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="SWebDlg" Order="12">&ServerFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="ESWebDlg" Order="11">&EnterpriseServerFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="PWebDlg" Order="10">&PortalFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="DatabaseConnectionDlg" Order="9">&SchedulerServiceFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="8">&WDPortalFeature=3</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="7">1</Publish>
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="DoAction" Value="CA_RecapListUI" Order="1">1</Publish>
|
||||
<!--SWebDlg-->
|
||||
<Publish Dialog="SWebDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg">1</Publish>
|
||||
<Publish Dialog="SWebDlg" Control="Next" Event="NewDialog" Value="SUserAccountDlg">1</Publish>
|
||||
<Publish Dialog="SWebDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--SUserAccountDlg-->
|
||||
<Publish Dialog="SUserAccountDlg" Control="Back" Event="NewDialog" Value="SWebDlg">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="Next" Event="NewDialog" Value="ServerPasswordDlg" Order="3">VALIDATE_OK="1"</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="Next" Event="SpawnDialog" Value="ValidateDlg" Order="2">VALIDATE_OK="0"</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="Next" Event="DoAction" Value="CA_ServerValidateADUI" Order="1">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!-- AD User.-->
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Event="DoAction" Value="CA_DirectoryObjectPicker" Order="2">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_TYPES" Value="DSOP_SCOPE_TYPE_TARGET_COMPUTER|DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN" Order="1">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_FLAGS" Value="DSOP_SCOPE_FLAG_STARTING_SCOPE|DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_FILTER_FLAGS" Value="DSOP_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Property="DSOP_DOWNLEVEL_SCOPE_FILTER_FLAGS" Value="DSOP_DOWNLEVEL_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Property="PI_SERVER_LOGIN" Value="[DSOP_UPN]" Order="3"><![CDATA[DSOP_UPN <> ""]]></Publish>
|
||||
<Publish Dialog="SUserAccountDlg" Control="SelectUserButton" Property="PI_SERVER_LOGIN" Value="[DSOP_NAME]" Order="3"><![CDATA[DSOP_NAME <> "" AND DSOP_UPN = ""]]></Publish>
|
||||
<!--ServerPasswordDlg-->
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Back" Event="NewDialog" Value="SUserAccountDlg">1</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="NewDialog" Value="ESWebDlg" Order="7">&EnterpriseServerFeature=3 AND VALIDATE_OK = "1"</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="NewDialog" Value="PWebDlg" Order="6">&PortalFeature=3 AND VALIDATE_OK = "1"</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="NewDialog" Value="DatabaseConnectionDlg" Order="5">&SchedulerServiceFeature=3 AND VALIDATE_OK = "1"</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="4">&WDPortalFeature=3 AND VALIDATE_OK = "1"</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="3">
|
||||
<![CDATA[NOT(&EnterpriseServerFeature=3) AND NOT(&PortalFeature=3) AND NOT(&SchedulerServiceFeature=3) AND NOT(&WDPortalFeature=3) AND VALIDATE_OK = "1"]]>
|
||||
</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="SpawnDialog" Value="ValidateDlg" Order="2">VALIDATE_OK = "0"</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Next" Event="DoAction" Value="CA_ServerAccessValidateUI" Order="1">1</Publish>
|
||||
<Publish Dialog="ServerPasswordDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--ESWebDlg-->
|
||||
<Publish Dialog="ESWebDlg" Control="Back" Event="NewDialog" Value="ServerPasswordDlg" Order="2"><![CDATA[&ServerFeature=3]]></Publish>
|
||||
<Publish Dialog="ESWebDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">1</Publish>
|
||||
<Publish Dialog="ESWebDlg" Control="Next" Event="NewDialog" Value="ESUserAccountDlg" Order="2">1</Publish>
|
||||
<Publish Dialog="ESWebDlg" Control="Next" Event="DoAction" Value="CA_SetEServerUrlUI" Order="1">1</Publish>
|
||||
<Publish Dialog="ESWebDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--ESUserAccountDlg-->
|
||||
<Publish Dialog="ESUserAccountDlg" Control="Back" Event="NewDialog" Value="ESWebDlg">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="Next" Event="NewDialog" Value="ServerAdminPasswordDlg" Order="3">VALIDATE_OK="1"</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="Next" Event="SpawnDialog" Value="ValidateDlg" Order="2">VALIDATE_OK="0"</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="Next" Event="DoAction" Value="CA_EServerValidateADUI" Order="1">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!-- AD User.-->
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Event="DoAction" Value="CA_DirectoryObjectPicker" Order="2">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_TYPES" Value="DSOP_SCOPE_TYPE_TARGET_COMPUTER|DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN" Order="1">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_FLAGS" Value="DSOP_SCOPE_FLAG_STARTING_SCOPE|DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_FILTER_FLAGS" Value="DSOP_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Property="DSOP_DOWNLEVEL_SCOPE_FILTER_FLAGS" Value="DSOP_DOWNLEVEL_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Property="PI_ESERVER_LOGIN" Value="[DSOP_UPN]" Order="3"><![CDATA[DSOP_UPN <> ""]]></Publish>
|
||||
<Publish Dialog="ESUserAccountDlg" Control="SelectUserButton" Property="PI_ESERVER_LOGIN" Value="[DSOP_NAME]" Order="3"><![CDATA[DSOP_NAME <> "" AND DSOP_UPN = ""]]></Publish>
|
||||
<!--ServerAdminPasswordDlg-->
|
||||
<Publish Dialog="ServerAdminPasswordDlg" Control="Back" Event="NewDialog" Value="ESUserAccountDlg">1</Publish>
|
||||
<Publish Dialog="ServerAdminPasswordDlg" Control="Next" Event="NewDialog" Value="DatabaseConnectionDlg" Order="3"><![CDATA[(&EnterpriseServerFeature=3 OR &SchedulerServiceFeature=3) AND VALIDATE_OK="1"]]></Publish>
|
||||
<Publish Dialog="ServerAdminPasswordDlg" Control="Next" Event="SpawnDialog" Value="ValidateDlg" Order="2">VALIDATE_OK="0"</Publish>
|
||||
<Publish Dialog="ServerAdminPasswordDlg" Control="Next" Event="DoAction" Value="CA_ServerAdminValidateUI" Order="1">1</Publish>
|
||||
<Publish Dialog="ServerAdminPasswordDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--DatabaseConnectionDlg-->
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Back" Event="NewDialog" Value="ESUrlDlg" Order="4"><![CDATA[&PortalFeature=3 AND NOT(&EnterpriseServerFeature=3)]]></Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Back" Event="NewDialog" Value="ServerAdminPasswordDlg" Order="3"><![CDATA[&EnterpriseServerFeature=3]]></Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Back" Event="NewDialog" Value="ServerPasswordDlg" Order="2"><![CDATA[&ServerFeature=3]]></Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">1</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Next" Event="NewDialog" Value="PWebDlg" Order="7">&PortalFeature=3 AND DB_CONN_CORRECT="1" AND VALIDATE_OK = "1"</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="6">DB_CONN_CORRECT = "1" AND VALIDATE_OK = "1"</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Next" Event="SpawnDialog" Value="ValidateDlg" Order="2">VALIDATE_OK = "0"</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Next" Event="DoAction" Value="CA_DatabaseConnectionValidateUI" Order="1">1</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="CheckConnButton" Event="SpawnDialog" Value="ConnectionWarningDlg" Order="4">DB_CONN_CORRECT = "0"</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="CheckConnButton" Property="DB_CONN_CORRECT" Value="[DB_CONN_CORRECT]" Order="3">1</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="CheckConnButton" Event ="DoAction" Value="CA_DbListUI" Order="2">1</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="CheckConnButton" Event="DoAction" Value="CA_CheckConnectionUI" Order="1">1</Publish>
|
||||
<Publish Dialog="DatabaseConnectionDlg" Control="SelectDbButton" Event="SpawnDialog" Value="SelectDbDlg" Order="1">1</Publish>
|
||||
<!--ConnectionWarningDlg-->
|
||||
<Publish Dialog="ConnectionWarningDlg" Control="Ok" Event="EndDialog" Value="Return">1</Publish>
|
||||
<!--SelectDbDlg-->
|
||||
<Publish Dialog="SelectDbDlg" Control="Ok" Event="EndDialog" Value="Return" Order="2">1</Publish>
|
||||
<Publish Dialog="SelectDbDlg" Control="Ok" Property="DB_DATABASE" Value="[DB_SELECT]" Order="1">1</Publish>
|
||||
<Publish Dialog="SelectDbDlg" Control="Cancel" Event="EndDialog" Value="Return">1</Publish>
|
||||
<!--PWebDlg-->
|
||||
<Publish Dialog="PWebDlg" Control="Back" Event="NewDialog" Value="DatabaseConnectionDlg" Order="3"><![CDATA[&EnterpriseServerFeature=3]]></Publish>
|
||||
<Publish Dialog="PWebDlg" Control="Back" Event="NewDialog" Value="ServerPasswordDlg" Order="2"><![CDATA[&ServerFeature=3]]></Publish>
|
||||
<Publish Dialog="PWebDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">1</Publish>
|
||||
<Publish Dialog="PWebDlg" Control="Next" Event="NewDialog" Value="PUserAccountDlg">1</Publish>
|
||||
<Publish Dialog="PWebDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--PUserAccountDlg-->
|
||||
<Publish Dialog="PUserAccountDlg" Control="Back" Event="NewDialog" Value="PWebDlg">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="Next" Event="NewDialog" Value="ESUrlDlg" Order="4"><![CDATA[NOT(&EnterpriseServerFeature=3) AND VALIDATE_OK="1"]]></Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="3"><![CDATA[VALIDATE_OK="1"]]></Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="Next" Event="SpawnDialog" Value="ValidateDlg" Order="2">VALIDATE_OK="0"</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="Next" Event="DoAction" Value="CA_PortalValidateADUI" Order="1">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!-- AD User.-->
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Event="DoAction" Value="CA_DirectoryObjectPicker" Order="2">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_TYPES" Value="DSOP_SCOPE_TYPE_TARGET_COMPUTER|DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN" Order="1">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_FLAGS" Value="DSOP_SCOPE_FLAG_STARTING_SCOPE|DSOP_SCOPE_FLAG_DEFAULT_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Property="DSOP_SCOPE_FILTER_FLAGS" Value="DSOP_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Property="DSOP_DOWNLEVEL_SCOPE_FILTER_FLAGS" Value="DSOP_DOWNLEVEL_FILTER_USERS" Order="1">1</Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Property="PI_PORTAL_LOGIN" Value="[DSOP_UPN]" Order="3"><![CDATA[DSOP_UPN <> ""]]></Publish>
|
||||
<Publish Dialog="PUserAccountDlg" Control="SelectUserButton" Property="PI_PORTAL_LOGIN" Value="[DSOP_NAME]" Order="3"><![CDATA[DSOP_NAME <> "" AND DSOP_UPN = ""]]></Publish>
|
||||
<!--ESUrlDlg-->
|
||||
<Publish Dialog="ESUrlDlg" Control="Back" Event="NewDialog" Value="PUserAccountDlg">1</Publish>
|
||||
<Publish Dialog="ESUrlDlg" Control="Next" Event="NewDialog" Value="DatabaseConnectionDlg" Order="2"><![CDATA[&SchedulerServiceFeature=3]]></Publish>
|
||||
<Publish Dialog="ESUrlDlg" Control="Next" Event="NewDialog" Value="CustomVerifyReadyDlg" Order="1">1</Publish>
|
||||
<Publish Dialog="ESUrlDlg" Control="Cancel" Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<!--CustomVerifyReadyDlg-->
|
||||
<Publish Dialog="CustomVerifyReadyDlg" Control="Back" Event="NewDialog" Value="DatabaseConnectionDlg" Order="16"><![CDATA[&SchedulerServiceFeature=3 AND NOT(&EnterpriseServerFeature=3)]]></Publish>
|
||||
<Publish Dialog="CustomVerifyReadyDlg" Control="Back" Event="NewDialog" Value="ESUrlDlg" Order="15"><![CDATA[&PortalFeature=3 AND NOT(&EnterpriseServerFeature=3)]]></Publish>
|
||||
<Publish Dialog="CustomVerifyReadyDlg" Control="Back" Event="NewDialog" Value="PUserAccountDlg" Order="14"><![CDATA[&PortalFeature=3 AND &EnterpriseServerFeature=3]]></Publish>
|
||||
<Publish Dialog="CustomVerifyReadyDlg" Control="Back" Event="NewDialog" Value="DatabaseConnectionDlg" Order="13"><![CDATA[&EnterpriseServerFeature=3 AND &PortalFeature<>3]]></Publish>
|
||||
<Publish Dialog="CustomVerifyReadyDlg" Control="Back" Event="NewDialog" Value="ServerPasswordDlg" Order="12"><![CDATA[&ServerFeature=3 AND &EnterpriseServerFeature<>3 AND &PortalFeature<>3]]></Publish>
|
||||
<Publish Dialog="CustomVerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">1</Publish>
|
||||
<!--FinishDlg-->
|
||||
<Publish Dialog="FinishDlg" Control="Next" Event="NewDialog" Value="FinishDlg">1</Publish>
|
||||
<!--ValidateDlg-->
|
||||
<Publish Dialog="ValidateDlg" Control="Ok" Event="EndDialog" Value="Return">1</Publish>
|
||||
</UI>
|
||||
<Icon Id="WebSitePanel.ico" SourceFile="WebSitePanel.ico" />
|
||||
<Binary Id="Assembly_CA" SourceFile="bin\WebsitePanel.WIXInstaller.CA.dll" />
|
||||
<Binary Id="MsiExt.ActiveDirectory" SourceFile="..\..\..\tools\msiext\CustomActions\ActiveDirectory.dll" />
|
||||
<Binary Id="MsiExt.DataSource" SourceFile="..\..\..\tools\msiext\CustomActions\DataSource.dll" />
|
||||
<Binary Id="bannrbmp" SourceFile="bannrbmp.bmp" />
|
||||
<Binary Id="passmark" SourceFile="passmark.ico" />
|
||||
<Binary Id="failmark" SourceFile="failmark.ico" />
|
||||
<Binary Id="InstallDB" SourceFile="$(var.PROJECTPATH)\Database\wix_install_db.sql" />
|
||||
<Binary Id="UpdateDB" SourceFile="$(var.PROJECTPATH)\Database\wix_update_db.sql" />
|
||||
<WixVariable Id="WixUIBannerBmp" Value="bannrbmp.bmp" />
|
||||
<WixVariable Id="WixUIDialogBmp" Value="dlgbmp.bmp" />
|
||||
<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
|
||||
<WixVariable Id="BUILDESPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\EnterpriseServer" />
|
||||
<WixVariable Id="BUILDSPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Server" />
|
||||
<WixVariable Id="BUILDPPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Portal" />
|
||||
<WixVariable Id="BUILDWDPPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\WebDavPortal" />
|
||||
<!--Add/Remove props. Public properties should be always in CAPS.-->
|
||||
<Property Id="ARPPRODUCTICON" Value="WebSitePanel.ico" />
|
||||
<!--UI props.-->
|
||||
<Property Id="BannerBitmap">bannrbmp</Property>
|
||||
<!--SQL props.-->
|
||||
<Property Id="DB_SERVER" Secure="yes" Value="localhost\SQLExpress" />
|
||||
<Property Id="DB_CONN" Secure="yes" />
|
||||
<Property Id="DB_DATABASE" Secure="yes" />
|
||||
<Property Id="DB_AUTH" Secure="yes" Value="Windows Authentication" />
|
||||
<Property Id="DB_LOGIN" Secure="yes" />
|
||||
<Property Id="DB_PASSWORD" Secure="yes" />
|
||||
<Property Id="DB_CONN_CORRECT" Secure="yes" Value="0" />
|
||||
<Property Id="DB_CONN_MSG" Secure="yes" />
|
||||
<Property Id="DB_SELECT" Secure="yes" />
|
||||
<!--Prerequisities props.-->
|
||||
<!--Possible values: Passed(y), Fail(n).-->
|
||||
<Property Id="PI_PREREQ_OS" Secure="yes" Value="0" />
|
||||
<Property Id="PI_PREREQ_OS_TITLE" Value="Operating System" />
|
||||
<Property Id="PI_PREREQ_ASPNET" Secure="yes" Value="0"/>
|
||||
<Property Id="PI_PREREQ_ASPNET_TITLE" Value="Microsoft ASP.NET"/>
|
||||
<Property Id="PI_PREREQ_IIS" Secure="yes" Value="0" />
|
||||
<Property Id="PI_PREREQ_IIS_TITLE" Value="Web Server (IIS)" />
|
||||
<Property Id="PI_PREREQ_WP_SERVER" Secure="yes" Value="0" />
|
||||
<Property Id="PI_PREREQ_WP_SERVER_TITLE" Value="WebsitePanel Server" />
|
||||
<Property Id="PI_PREREQ_WP_ESERVER" Secure="yes" Value="0" />
|
||||
<Property Id="PI_PREREQ_WP_ESERVER_TITLE" Value="WebsitePanel Enterprise Server" />
|
||||
<Property Id="PI_PREREQ_WP_PORTAL" Secure="yes" Value="0" />
|
||||
<Property Id="PI_PREREQ_WP_PORTAL_TITLE" Value="WebsitePanel Portal" />
|
||||
<Property Id="PI_PREREQ_WP_WDPORTAL" Secure="yes" Value="0" />
|
||||
<Property Id="PI_PREREQ_WP_WDPORTAL_TITLE" Value="WebsitePanel WebDav Portal" />
|
||||
<!--IP, PORT, HOSTNAME for each component. Default values.-->
|
||||
<Property Id="PI_SERVER_IP" Secure="yes" Value="127.0.0.1" />
|
||||
<Property Id="PI_SERVER_PORT" Secure="yes" Value="9003" />
|
||||
<Property Id="PI_SERVER_HOST" Secure="yes" />
|
||||
<Property Id="PI_SERVER_LOGIN" Secure="yes" />
|
||||
<Property Id="PI_SERVER_PASSWORD" Secure="yes" />
|
||||
<Property Id="PI_SERVER_PASSWORD_CONFIRM" Secure="yes" />
|
||||
<Property Id="PI_SERVER_DOMAIN" Secure="yes" />
|
||||
<Property Id="PI_SERVER_CREATE_AD" Secure="yes" />
|
||||
|
||||
<Property Id="PI_ESERVER_IP" Secure="yes" Value="127.0.0.1" />
|
||||
<Property Id="PI_ESERVER_PORT" Secure="yes" Value="9002" />
|
||||
<Property Id="PI_ESERVER_HOST" Secure="yes" />
|
||||
<Property Id="PI_ESERVER_LOGIN" Secure="yes" />
|
||||
<Property Id="PI_ESERVER_PASSWORD" Secure="yes" />
|
||||
<Property Id="PI_ESERVER_PASSWORD_CONFIRM" Secure="yes" />
|
||||
<Property Id="PI_ESERVER_DOMAIN" Secure="yes" />
|
||||
<Property Id="PI_ESERVER_CREATE_AD" Secure="yes" />
|
||||
<Property Id="PI_ESERVER_URL" Secure="yes" />
|
||||
|
||||
<Property Id="PI_PORTAL_IP" Secure="yes" Value="127.0.0.1" />
|
||||
<Property Id="PI_PORTAL_PORT" Secure="yes" Value="9001" />
|
||||
<Property Id="PI_PORTAL_HOST" Secure="yes" />
|
||||
<Property Id="PI_PORTAL_LOGIN" Secure="yes" />
|
||||
<Property Id="PI_PORTAL_PASSWORD" Secure="yes" />
|
||||
<Property Id="PI_PORTAL_PASSWORD_CONFIRM" Secure="yes" />
|
||||
<Property Id="PI_PORTAL_DOMAIN" Secure="yes" />
|
||||
<Property Id="PI_PORTAL_CREATE_AD" Secure="yes"/>
|
||||
<!---->
|
||||
<Property Id="CUSTOM_INSTALL_TEXT" Secure="yes" />
|
||||
<Property Id="PI_PREREQ_LOG" Secure="yes" />
|
||||
<!---->
|
||||
<Property Id="SERVER_ACCESS_PASSWORD" Secure="yes" />
|
||||
<Property Id="SERVER_ACCESS_PASSWORD_CONFIRM" Secure="yes" />
|
||||
<!---->
|
||||
<Property Id="SERVERADMIN_PASSWORD" Secure="yes" />
|
||||
<Property Id="SERVERADMIN_PASSWORD_CONFIRM" Secure="yes" />
|
||||
<!---->
|
||||
<Property Id="VALIDATE_OK" Secure="yes" Value="0" />
|
||||
<Property Id="VALIDATE_MSG" Secure="yes" />
|
||||
<Property Id ="WSP_ROOT" Secure="yes">
|
||||
<RegistrySearch Id='Search_WSP_ROOT' Root='HKCU' Key='SOFTWARE\[ProductName]' Name='Root' Type='raw' />
|
||||
</Property>
|
||||
<!--CustomActions.-->
|
||||
<!-- <CustomAction Id='AlreadyUpdated' Error='Product has already been updated to $(var.VERSION) or newer.' />
|
||||
<CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' /> -->
|
||||
<CustomAction Id="CA_CheckConnectionUI" BinaryKey="Assembly_CA" DllEntry="CheckConnectionUI" />
|
||||
<!-- <CustomAction Id='CA_PropertyFinalizeInstall' Property='CA_FinalizeInstall' Value='ConnectionString=[CONNECTIONSTRING];PreviousConnectionString=[PREVIOUSCONNECTIONSTRING];ServiceFolder=[SERVICEFOLDER];PreviousCryptoKey=[PREVIOUSCRYPTOKEY]' Return="check"/> -->
|
||||
<CustomAction Id="CA_PropertyFinalizeInstall" Property="CA_FinalizeInstall" Value="" Return="check"/>
|
||||
<CustomAction Id="CA_FinalizeInstall" BinaryKey ="Assembly_CA" DllEntry="FinalizeInstall" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes"/>
|
||||
<CustomAction Id="CA_PreInstallationAction" BinaryKey="Assembly_CA" DllEntry="PreInstallationAction" />
|
||||
<CustomAction Id="CA_FinalizeUnInstall" BinaryKey="Assembly_CA" DllEntry="FinalizeUnInstall" />
|
||||
<CustomAction Id="CA_PrereqCheck" BinaryKey="Assembly_CA" DllEntry="PrereqCheck" />
|
||||
<CustomAction Id="CA_PrereqCheckUI" BinaryKey="Assembly_CA" DllEntry="PrereqCheckUI" />
|
||||
<CustomAction Id="CA_FillIpListUI" BinaryKey="Assembly_CA" DllEntry="FillIpListUI" />
|
||||
<CustomAction Id="CA_DbListUI" BinaryKey="Assembly_CA" DllEntry="DbListUI" />
|
||||
<CustomAction Id="CA_ServerAccessValidateUI" BinaryKey="Assembly_CA" DllEntry="ServerAccessValidateUI" />
|
||||
<CustomAction Id="CA_ServerValidateADUI" BinaryKey="Assembly_CA" DllEntry="ServerValidateADUI" />
|
||||
<CustomAction Id="CA_EServerValidateADUI" BinaryKey="Assembly_CA" DllEntry="EServerValidateADUI" />
|
||||
<CustomAction Id="CA_PortalValidateADUI" BinaryKey="Assembly_CA" DllEntry="PortalValidateADUI" />
|
||||
<CustomAction Id="CA_ServerAdminValidateUI" BinaryKey="Assembly_CA" DllEntry="ServerAdminValidateUI" />
|
||||
<CustomAction Id="CA_DatabaseConnectionValidateUI" BinaryKey="Assembly_CA" DllEntry="DatabaseConnectionValidateUI" />
|
||||
<CustomAction Id="CA_RecapListUI" BinaryKey="Assembly_CA" DllEntry="RecapListUI" />
|
||||
<CustomAction Id="CA_SqlServerListUI" BinaryKey="Assembly_CA" DllEntry="SqlServerListUI" />
|
||||
|
||||
<CustomAction Id="CA_DirectoryObjectPicker" BinaryKey="MsiExt.ActiveDirectory" DllEntry="DirectoryObjectPicker" />
|
||||
|
||||
<CustomAction Id="CA_SetSqlDmoListLocal" Property="SQLDMO_LIST_LOCAL" Value="(local)" Execute="immediate" />
|
||||
<CustomAction Id="CA_SetSqlDmoListIndex" Property="SQLDMO_LIST_INDEX" Value="2" Execute="immediate" />
|
||||
<CustomAction Id="CA_SetSqlDmoListProperty" Property="SQLDMO_LIST_PROPERTY" Value="DB_SERVER" Execute="immediate" />
|
||||
<CustomAction Id="CA_SetSqlDmoListType" Property="SQLDMO_LIST_TYPE" Value="ComboBox" Execute="immediate" />
|
||||
<CustomAction Id="CA_SQLDMO_ListAvailableSQLServers" BinaryKey="MsiExt.DataSource" DllEntry="SQLDMO_ListAvailableSQLServers" />
|
||||
|
||||
<CustomAction Id="CA_SetEServerUrlUI" BinaryKey ="Assembly_CA" DllEntry="SetEServerUrlUI" />
|
||||
|
||||
<!--Run corresponding install scripts.-->
|
||||
<!--Server.-->
|
||||
<CustomAction Id="CA_PropertyOnServerInstall" Property="CA_OnServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.ServerTitle);ComponentCode=server;ComponentDescription=$(var.ServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLSERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=[];InstallerType=[];InstallerPath=[];IISVersion=[];SetupXml=[];WebSiteIP=[PI_SERVER_IP];WebSitePort=[PI_SERVER_PORT];WebSiteDomain=[PI_SERVER_HOST];UserDomain=[PI_SERVER_DOMAIN];UserAccount=[PI_SERVER_LOGIN];UserPassword=[PI_SERVER_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||
<CustomAction Id="CA_OnServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||
<!--EServer.-->
|
||||
<CustomAction Id="CA_PropertyOnEServerInstall" Property="CA_OnEServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.EServerTitle);ComponentCode=enterpriseserver;ComponentDescription=$(var.EServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLENTERPRISESERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=[];InstallerType=[];InstallerPath=[];IISVersion=[];SetupXml=[];WebSiteIP=[PI_ESERVER_IP];WebSitePort=[PI_ESERVER_PORT];WebSiteDomain=[PI_ESERVER_HOST];UserDomain=[PI_ESERVER_DOMAIN];UserAccount=[PI_ESERVER_LOGIN];UserPassword=[PI_ESERVER_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||
<CustomAction Id="CA_OnEServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnEServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||
<!--Portal.-->
|
||||
<CustomAction Id="CA_PropertyOnPortalInstall" Property="CA_OnPortalInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.PortalTitle);ComponentCode=portal;ComponentDescription=$(var.PortalDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLPORTALFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=[];InstallerType=[];InstallerPath=[];IISVersion=[];SetupXml=[];WebSiteIP=[PI_PORTAL_IP];WebSitePort=[PI_PORTAL_PORT];WebSiteDomain=[PI_PORTAL_HOST];UserDomain=[PI_PORTAL_DOMAIN];UserAccount=[PI_PORTAL_LOGIN];UserPassword=[PI_PORTAL_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||
<CustomAction Id="CA_OnPortalInstall" BinaryKey ="Assembly_CA" DllEntry="OnPortalInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||
<!--Run corresponding uninstall scripts.-->
|
||||
<CustomAction Id="CA_PropertyOnServerRemove" Property="CA_OnServerRemove" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=server;BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||
<CustomAction Id="CA_OnServerRemove" BinaryKey="Assembly_CA" DllEntry="OnServerRemove" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||
<CustomAction Id="CA_PropertyOnEServerRemove" Property="CA_OnEServerRemove" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=enterpriseserver;BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||
<CustomAction Id="CA_OnEServerRemove" BinaryKey="Assembly_CA" DllEntry="OnEServerRemove" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||
<CustomAction Id="CA_PropertyOnPortalRemove" Property="CA_OnPortalRemove" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=portal;BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||
<CustomAction Id="CA_OnPortalRemove" BinaryKey="Assembly_CA" DllEntry="OnPortalRemove" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||
<!---->
|
||||
<SetProperty Id="WEBSITEPANELDIR" After="AppSearch" Value="[WSP_ROOT]">WSP_ROOT</SetProperty>
|
||||
<!--Exe sequence.-->
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action="PropertyFinalizeInstall" After='InstallValidate'/>
|
||||
<Custom Action="FinalizeUnInstall" After="InstallValidate">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
|
||||
<RemoveExistingProducts After="InstallValidate" />
|
||||
<Custom Action='FinalizeInstall' After='InstallFiles' >NOT Installed or REINSTALL</Custom>
|
||||
<!--<Custom Action="CA_PropertyFinalizeInstall" After='InstallValidate'/>
|
||||
<Custom Action="CA_FinalizeUnInstall" After="InstallValidate">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
|
||||
<Custom Action="CA_FinalizeInstall" After="InstallFiles" >NOT Installed or REINSTALL</Custom>-->
|
||||
<!--First Install. [Installed] property not used here because we distinguish per feature basis.-->
|
||||
<Custom Action="CA_PropertyOnServerInstall" After="InstallValidate"><![CDATA[(&ServerFeature=3) AND NOT(!ServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_OnServerInstall" After="InstallFiles"><![CDATA[(&ServerFeature=3) AND NOT(!ServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_PropertyOnEServerInstall" After="InstallValidate"><![CDATA[(&EnterpriseServerFeature=3) AND NOT(!EnterpriseServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_OnEServerInstall" After="InstallODBC"><![CDATA[(&EnterpriseServerFeature=3) AND NOT(!EnterpriseServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_PropertyOnPortalInstall" After="InstallValidate"><![CDATA[(&PortalFeature=3) AND NOT(!PortalFeature=3)]]></Custom>
|
||||
<Custom Action="CA_OnPortalInstall" After="InstallFiles"><![CDATA[(&PortalFeature=3) AND NOT(!PortalFeature=3)]]></Custom>
|
||||
<!--Complete Remove.-->
|
||||
<Custom Action="CA_PropertyOnServerRemove" After="InstallInitialize"><![CDATA[(&ServerFeature=2) AND (!ServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_OnServerRemove" After="CA_PropertyOnServerRemove"><![CDATA[(&ServerFeature=2) AND (!ServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_PropertyOnEServerRemove" After="InstallInitialize"><![CDATA[(&EnterpriseServerFeature=2) AND (!EnterpriseServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_OnEServerRemove" Before="StopServices"><![CDATA[(&EnterpriseServerFeature=2) AND (!EnterpriseServerFeature=3)]]></Custom>
|
||||
<Custom Action="CA_PropertyOnPortalRemove" After="InstallInitialize"><![CDATA[(&PortalFeature=2) AND (!PortalFeature=3)]]></Custom>
|
||||
<Custom Action="CA_OnPortalRemove" After="CA_PropertyOnPortalRemove"><![CDATA[(&PortalFeature=2) AND (!PortalFeature=3)]]></Custom>
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<InstallUISequence>
|
||||
<Custom Action="CA_PrereqCheck" After ="CostInitialize" />
|
||||
<Custom Action="CA_PrereqCheckUI" After ="CA_PrereqCheck" />
|
||||
<Custom Action="CA_FillIpListUI" After="CostInitialize" />
|
||||
<Custom Action="CA_SqlServerListUI" After="CostInitialize" />
|
||||
</InstallUISequence>
|
||||
<SetProperty Id="PI_ESERVER_URL" Value="http://[PI_ESERVER_IP]:[PI_ESERVER_PORT]/" Before="CostInitialize" />
|
||||
</Product>
|
||||
|
||||
<Fragment>
|
||||
<CustomAction Id="CheckConnection" BinaryKey="CheckConnection.CA" DllEntry="CheckConnection" />
|
||||
<Binary Id="CheckConnection.CA" SourceFile="bin\WebsitePanel.WIXInstaller.CA.dll" />
|
||||
<ComponentGroup Id="DatabaseInstallation">
|
||||
<ComponentRef Id="InstallDatabaseSql"/>
|
||||
<ComponentRef Id="InstallDatabaseWin"/>
|
||||
<ComponentRef Id="UpdateDatabaseSql"/>
|
||||
<ComponentRef Id="UpdateDatabaseWin"/>
|
||||
</ComponentGroup>
|
||||
<DirectoryRef Id="INSTALLENTERPRISESERVERFOLDER">
|
||||
<Component Id="InstallDatabaseSql" Guid="{81FB6008-A445-464F-8A0E-2EE076027FF3}">
|
||||
<CreateFolder />
|
||||
<Condition>(NOT Installed OR NOT WIX_UPGRADE_DETECTED) AND NOT(DB_AUTH = "Windows Authentication")</Condition>
|
||||
<util:User Id="SqlUser" Name="[DB_LOGIN]" Password="[DB_PASSWORD]" CreateUser="no" />
|
||||
<sql:SqlDatabase Id="SqlDatabaseInstallSql" ConfirmOverwrite="yes" ContinueOnError="no" CreateOnInstall="yes" CreateOnReinstall="no" CreateOnUninstall="no"
|
||||
DropOnInstall="no" DropOnReinstall="no" DropOnUninstall="no"
|
||||
Server="[DB_SERVER]"
|
||||
Database="[DB_DATABASE]"
|
||||
User="SqlUser">
|
||||
<sql:SqlScript Id="SqlInstallScriptSql" ExecuteOnInstall="yes" BinaryKey="InstallDB" Sequence="1"/>
|
||||
</sql:SqlDatabase>
|
||||
</Component>
|
||||
<Component Id="UpdateDatabaseSql" Guid="{089C02F9-D598-435E-8DA9-FC8AED00495C}">
|
||||
<Condition>NOT (Remove="ALL") AND NOT(DB_AUTH = "Windows Authentication")</Condition>
|
||||
<CreateFolder />
|
||||
<sql:SqlString Id="SqlVersionUpdateSql" SQL="IF NOT EXISTS (SELECT * FROM dbo.Versions WHERE DatabaseVersion = '$(var.sql_release_version)')
|
||||
BEGIN
|
||||
INSERT dbo.Versions (DatabaseVersion, BuildDate) VALUES ('$(var.sql_release_version)', '$(var.sql_build_date)')
|
||||
END"
|
||||
SqlDb="SqlDatabaseInstallWin" Sequence="2" User="SqlUser"
|
||||
ContinueOnError="no" ExecuteOnInstall="yes" ExecuteOnReinstall="yes" ExecuteOnUninstall="no"/>
|
||||
<sql:SqlScript Id="SqlUpdateScriptSql" BinaryKey="UpdateDB" SqlDb="SqlDatabaseInstallSql" Sequence="3" User="SqlUser"
|
||||
ContinueOnError="no" ExecuteOnInstall="yes" ExecuteOnReinstall="yes" ExecuteOnUninstall="no"/>
|
||||
</Component>
|
||||
<Component Id="InstallDatabaseWin" Guid="{C50FC58C-3EF3-452D-BA9B-C9513B4D941A}">
|
||||
<CreateFolder />
|
||||
<Condition>(NOT Installed OR NOT WIX_UPGRADE_DETECTED) AND (DB_AUTH = "Windows Authentication")</Condition>
|
||||
<sql:SqlDatabase Id="SqlDatabaseInstallWin" ConfirmOverwrite="yes" ContinueOnError="no" CreateOnInstall="yes" CreateOnReinstall="no" CreateOnUninstall="no"
|
||||
DropOnInstall="no" DropOnReinstall="no" DropOnUninstall="no"
|
||||
Server="[DB_SERVER]"
|
||||
Database="[DB_DATABASE]">
|
||||
<sql:SqlScript Id="SqlInstallScriptWin" ExecuteOnInstall="yes" BinaryKey="InstallDB" Sequence="10"/>
|
||||
</sql:SqlDatabase>
|
||||
</Component>
|
||||
<Component Id="UpdateDatabaseWin" Guid="{A2770B5C-DA46-4125-950F-73A640EB312B}">
|
||||
<Condition>NOT (Remove="ALL") AND (DB_AUTH = "Windows Authentication")</Condition>
|
||||
<CreateFolder />
|
||||
<sql:SqlString Id="SqlVersionUpdateWin" SQL="IF NOT EXISTS (SELECT * FROM dbo.Versions WHERE DatabaseVersion = '$(var.sql_release_version)')
|
||||
BEGIN
|
||||
INSERT dbo.Versions (DatabaseVersion, BuildDate) VALUES ('$(var.sql_release_version)', '$(var.sql_build_date)')
|
||||
END"
|
||||
SqlDb="SqlDatabaseInstallWin" Sequence="11" ContinueOnError="no" ExecuteOnInstall="yes" ExecuteOnReinstall="yes" ExecuteOnUninstall="no"/>
|
||||
<sql:SqlScript Id="SqlUpdateScriptWin" BinaryKey="UpdateDB" SqlDb="SqlDatabaseInstallWin" Sequence="12"
|
||||
ContinueOnError="no" ExecuteOnInstall="yes" ExecuteOnReinstall="yes" ExecuteOnUninstall="no" />
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
</Fragment>
|
||||
|
||||
<Fragment>
|
||||
<!-- immediate CA -->
|
||||
<CustomAction Id='PropertyFinalizeInstall' Property='FinalizeInstall' Value='ConnectionString=[CONNECTIONSTRING];PreviousConnectionString=[PREVIOUSCONNECTIONSTRING];ServiceFolder=[SERVICEFOLDER];PreviousCryptoKey=[PREVIOUSCRYPTOKEY]' Return="check"/>
|
||||
|
||||
<!-- deferred CA -->
|
||||
<CustomAction Id='FinalizeInstall' BinaryKey ='CheckConnection.CA' DllEntry='FinalizeInstall' Impersonate='no' Execute='deferred' Return='check' HideTarget='yes'/>
|
||||
|
||||
<!--<CustomAction Id="FinalizeInstall" BinaryKey="CheckConnection.CA" DllEntry="FinalizeInstall" />-->
|
||||
<ComponentGroup Id="WebsitePanelFiles">
|
||||
<Component Id ="comp_WebsitePanel_config" Directory="WEBSITEPANELDIR" Guid="{28CD1ADB-562C-4E38-A3B6-325D3A2718B1}">
|
||||
<File Id="file_WebsitePanel_config" KeyPath="yes" Source="WebsitePanel.config" />
|
||||
</Component>
|
||||
<Component Directory="WEBSITEPANELDIR">
|
||||
<RegistryValue Root='HKCU' Key='SOFTWARE\[ProductName]'
|
||||
Name='Root' Value='[WEBSITEPANELDIR]'
|
||||
Type='string' />
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
|
||||
<Fragment>
|
||||
<CustomAction Id="PreInstallationAction" BinaryKey="CheckConnection.CA" DllEntry="PreInstallationAction" />
|
||||
<CustomAction Id="FinalizeUnInstall" BinaryKey="CheckConnection.CA" DllEntry="FinalizeUnInstall" />
|
||||
<CustomAction Id='AlreadyUpdated' Error='Product has already been updated to $(var.VERSION) or newer.' />
|
||||
<CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' />
|
||||
</Fragment>
|
||||
|
||||
<Fragment>
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="WEBSITEPANELDIR" Name="WebsitePanel">
|
||||
<Directory Id="INSTALLSERVICEFOLDER" Name="SchedulerService" />
|
||||
<Directory Id="INSTALLSERVERFOLDER" Name="Server" />
|
||||
<Directory Id="INSTALLENTERPRISESERVERFOLDER" Name="Enterprise Server" />
|
||||
<Directory Id="INSTALLPORTALFOLDER" Name="Portal" />
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Fragment>
|
||||
|
||||
</Wix>
|
|
@ -3,7 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>3.7</ProductVersion>
|
||||
<ProductVersion>3.9</ProductVersion>
|
||||
<ProjectGuid>{978f0a18-7c81-4561-8f6d-5a165484ad0a}</ProjectGuid>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputName>Websitepanel</OutputName>
|
||||
|
@ -14,7 +14,7 @@
|
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;BUILD=debug</DefineConstants>
|
||||
<DefineConstants>Debug;BUILD=debug;Version=$(Version);BuildDate=$(ReleaseDate)</DefineConstants>
|
||||
<SuppressValidation>False</SuppressValidation>
|
||||
<SuppressIces>
|
||||
</SuppressIces>
|
||||
|
@ -26,23 +26,38 @@
|
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>bin\$(Configuration)\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>BUILD=release</DefineConstants>
|
||||
<DefineConstants>BUILD=release;Version=$(Version);BuildDate=$(ReleaseDate)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="EnterpriseServerFiles.wxs" />
|
||||
<Compile Include="PortalFiles.wxs" />
|
||||
<Compile Include="CustomVerifyReadyDlg.wxs" />
|
||||
<Compile Include="Product.wxs" />
|
||||
<Compile Include="SchedulerServiceFiles.wxs" />
|
||||
<Compile Include="ServerFiles.wxs" />
|
||||
<Compile Include="..\..\..\WebsitePanel\Build\$(Configuration)\WiXInstaller\ComponentsFiles\ServerFiles.wxs" />
|
||||
<Compile Include="..\..\..\WebsitePanel\Build\$(Configuration)\WiXInstaller\ComponentsFiles\EnterpriseServerFiles.wxs" />
|
||||
<Compile Include="..\..\..\WebsitePanel\Build\$(Configuration)\WiXInstaller\ComponentsFiles\PortalFiles.wxs" />
|
||||
<Compile Include="..\..\..\WebsitePanel\Build\$(Configuration)\WiXInstaller\ComponentsFiles\WebDavPortalFiles.wxs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Config.wxi" />
|
||||
<Content Include="WebsitePanel.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WixExtension Include="WixUIExtension">
|
||||
<HintPath>..\..\..\tools\WIX\WixUIExtension.dll</HintPath>
|
||||
<Name>WixUIExtension</Name>
|
||||
</WixExtension>
|
||||
<WixExtension Include="WixIIsExtension">
|
||||
<HintPath>..\..\..\tools\WIX\WixIIsExtension.dll</HintPath>
|
||||
<Name>WixIIsExtension</Name>
|
||||
</WixExtension>
|
||||
<WixExtension Include="WixSqlExtension">
|
||||
<HintPath>..\..\..\tools\WIX\WixSqlExtension.dll</HintPath>
|
||||
<Name>WixSqlExtension</Name>
|
||||
</WixExtension>
|
||||
<WixExtension Include="WixUtilExtension">
|
||||
<HintPath>..\..\..\tools\WIX\WixUtilExtension.dll</HintPath>
|
||||
<Name>WixUtilExtension</Name>
|
||||
</WixExtension>
|
||||
</ItemGroup>
|
||||
<Import Project="$(WixTargetsPath)" />
|
||||
<!--
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="installer" type="WebsitePanel.Installer.Configuration.InstallerSection, WebsitePanel.Installer.Core"/>
|
||||
</configSections>
|
||||
<installer>
|
||||
<!-- Installed components -->
|
||||
<components/>
|
||||
<!-- Studio settings -->
|
||||
<settings>
|
||||
<add key="Log.FileName" value="WebsitePanel.Installer.log" />
|
||||
<add key="Web.Service" value="" />
|
||||
<add key="Web.AutoCheck" value="False" />
|
||||
<add key="Web.Proxy.UseProxy" value="false" />
|
||||
<add key="Web.Proxy.Address" value="" />
|
||||
<add key="Web.Proxy.UserName" value="" />
|
||||
<add key="Web.Proxy.Password" value="" />
|
||||
</settings>
|
||||
</installer>
|
||||
</configuration>
|
BIN
WebsitePanel.Installer/Sources/Setup.WIXInstaller/failmark.ico
Normal file
BIN
WebsitePanel.Installer/Sources/Setup.WIXInstaller/failmark.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
WebsitePanel.Installer/Sources/Setup.WIXInstaller/passmark.ico
Normal file
BIN
WebsitePanel.Installer/Sources/Setup.WIXInstaller/passmark.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
|
@ -1,7 +1,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18051
|
||||
// Runtime Version:4.0.30319.34209
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.30723.0
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{129305D5-A9E6-4DCE-BFF6-41809E13EEEE}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
|
@ -33,6 +33,13 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Setup.SchedulerService", "S
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.SchedulerServiceInstaller", "WebsitePanel.SchedulerServiceInstaller\WebsitePanel.SchedulerServiceInstaller.csproj", "{24A4C231-73A9-4F03-ABAD-9A8FE5324495}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebsitePanel.WIXInstaller", "WebsitePanel.WIXInstaller\WebsitePanel.WIXInstaller.csproj", "{3343FFD8-7CCE-451B-95AE-3D97244313A2}"
|
||||
EndProject
|
||||
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Setup.WIXInstaller", "Setup.WIXInstaller\Setup.WIXInstaller.wixproj", "{978F0A18-7C81-4561-8F6D-5A165484AD0A}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2} = {3343FFD8-7CCE-451B-95AE-3D97244313A2}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -125,6 +132,26 @@ Global
|
|||
{24A4C231-73A9-4F03-ABAD-9A8FE5324495}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{24A4C231-73A9-4F03-ABAD-9A8FE5324495}.Release|x86.ActiveCfg = Release|x86
|
||||
{24A4C231-73A9-4F03-ABAD-9A8FE5324495}.Release|x86.Build.0 = Release|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Debug|x86.Build.0 = Debug|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Release|x86.ActiveCfg = Release|x86
|
||||
{3343FFD8-7CCE-451B-95AE-3D97244313A2}.Release|x86.Build.0 = Release|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Debug|x86.Build.0 = Debug|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Release|x86.ActiveCfg = Release|x86
|
||||
{978F0A18-7C81-4561-8F6D-5A165484AD0A}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
Binary file not shown.
|
@ -67,37 +67,21 @@ namespace WebsitePanel.Setup.Actions
|
|||
{
|
||||
OnInstallProgressChanged(LogStartInstallMessage, 0);
|
||||
Log.WriteStart(LogStartInstallMessage);
|
||||
|
||||
var file = Path.Combine(vars.InstallationFolder, vars.ConfigurationFile);
|
||||
vars.CryptoKey = Utils.GetRandomString(20);
|
||||
|
||||
// load file
|
||||
string content = string.Empty;
|
||||
using (StreamReader reader = new StreamReader(file))
|
||||
{
|
||||
content = reader.ReadToEnd();
|
||||
}
|
||||
|
||||
// expand variables
|
||||
content = Utils.ReplaceScriptVariable(content, "installer.cryptokey", vars.CryptoKey);
|
||||
//
|
||||
Log.WriteInfo(String.Format("The following cryptographic key has been generated: '{0}'", vars.CryptoKey));
|
||||
|
||||
// save file
|
||||
using (StreamWriter writer = new StreamWriter(file))
|
||||
{
|
||||
writer.Write(content);
|
||||
}
|
||||
//update log
|
||||
var Xml = new XmlDocument();
|
||||
Xml.Load(file);
|
||||
var CryptoNode = Xml.SelectSingleNode("configuration/appSettings/add[@key='WebsitePanel.CryptoKey']") as XmlElement;
|
||||
if (CryptoNode != null)
|
||||
CryptoNode.SetAttribute("value", vars.CryptoKey);
|
||||
Xml.Save(file);
|
||||
Log.WriteEnd(LogEndInstallMessage);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (Utils.IsThreadAbortException(ex))
|
||||
return;
|
||||
//
|
||||
Log.WriteError("Update web.config error", ex);
|
||||
//
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
@ -116,6 +100,10 @@ namespace WebsitePanel.Setup.Actions
|
|||
Begin(LogStartInstallMessage);
|
||||
|
||||
Log.WriteStart(LogStartInstallMessage);
|
||||
|
||||
var ServiceName = Global.Parameters.SchedulerServiceName;
|
||||
var ServiceFile = Path.Combine(vars.InstallationFolder, "bin", Global.Parameters.SchedulerServiceFileName);
|
||||
|
||||
Log.WriteInfo(String.Format("Scheduler Service Name: \"{0}\"", Global.Parameters.SchedulerServiceName));
|
||||
|
||||
if (ServiceController.GetServices().Any(s => s.DisplayName.Equals(Global.Parameters.SchedulerServiceName, StringComparison.CurrentCultureIgnoreCase)))
|
||||
|
@ -125,8 +113,13 @@ namespace WebsitePanel.Setup.Actions
|
|||
return;
|
||||
}
|
||||
|
||||
ManagedInstallerClass.InstallHelper(new[] { "/i", Path.Combine(vars.InstallationFolder, "bin", Global.Parameters.SchedulerServiceFileName) });
|
||||
ManagedInstallerClass.InstallHelper(new[] { "/i /LogFile=\"\" ", ServiceFile });
|
||||
Utils.StartService(Global.Parameters.SchedulerServiceName);
|
||||
|
||||
AppConfig.EnsureComponentConfig(vars.ComponentId);
|
||||
AppConfig.SetComponentSettingStringValue(vars.ComponentId, "ServiceName", ServiceName);
|
||||
AppConfig.SetComponentSettingStringValue(vars.ComponentId, "ServiceFile", ServiceFile);
|
||||
AppConfig.SaveConfiguration();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -166,7 +159,7 @@ namespace WebsitePanel.Setup.Actions
|
|||
{
|
||||
if (ServiceController.GetServices().Any(s => s.ServiceName.Equals(Global.Parameters.SchedulerServiceName, StringComparison.CurrentCultureIgnoreCase)))
|
||||
{
|
||||
ManagedInstallerClass.InstallHelper(new[] { "/u", Path.Combine(vars.InstallationFolder, "bin", Global.Parameters.SchedulerServiceFileName) });
|
||||
ManagedInstallerClass.InstallHelper(new[] { "/u /LogFile=\"\" ", Path.Combine(vars.InstallationFolder, "bin", Global.Parameters.SchedulerServiceFileName) });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -397,25 +390,14 @@ namespace WebsitePanel.Setup.Actions
|
|||
void IInstallAction.Run(SetupVariables vars)
|
||||
{
|
||||
Log.WriteStart("Updating web.config file (connection string)");
|
||||
//
|
||||
var file = Path.Combine(vars.InstallationFolder, vars.ConfigurationFile);
|
||||
//
|
||||
var content = String.Empty;
|
||||
// load file
|
||||
using (StreamReader reader = new StreamReader(file))
|
||||
{
|
||||
content = reader.ReadToEnd();
|
||||
}
|
||||
// Build connection string
|
||||
vars.ConnectionString = String.Format(vars.ConnectionString, vars.DatabaseServer, vars.Database, vars.Database, vars.DatabaseUserPassword);
|
||||
// Expand variables
|
||||
content = Utils.ReplaceScriptVariable(content, "installer.connectionstring", vars.ConnectionString);
|
||||
// Save file
|
||||
using (StreamWriter writer = new StreamWriter(file))
|
||||
{
|
||||
writer.Write(content);
|
||||
}
|
||||
//
|
||||
var Xml = new XmlDocument();
|
||||
Xml.Load(file);
|
||||
var ConnNode = Xml.SelectSingleNode("configuration/connectionStrings/add[@name='EnterpriseServer']") as XmlElement;
|
||||
if(ConnNode != null)
|
||||
ConnNode.SetAttribute("connectionString", vars.ConnectionString);
|
||||
Xml.Save(file);
|
||||
Log.WriteEnd(String.Format("Updated {0} file", vars.ConfigurationFile));
|
||||
}
|
||||
}
|
||||
|
@ -509,10 +491,11 @@ namespace WebsitePanel.Setup.Actions
|
|||
{
|
||||
void IInstallAction.Run(SetupVariables vars)
|
||||
{
|
||||
Log.WriteStart("SaveEntServerConfigSettingsAction");
|
||||
AppConfig.EnsureComponentConfig(vars.ComponentId);
|
||||
//
|
||||
AppConfig.SetComponentSettingStringValue(vars.ComponentId, "Database", vars.Database);
|
||||
AppConfig.SetComponentSettingBooleanValue(vars.ComponentId, "NewDatabase", true);
|
||||
AppConfig.SetComponentSettingBooleanValue(vars.ComponentId, "NewDatabase", vars.CreateDatabase);
|
||||
//
|
||||
AppConfig.SetComponentSettingStringValue(vars.ComponentId, "DatabaseUser", vars.Database);
|
||||
AppConfig.SetComponentSettingBooleanValue(vars.ComponentId, "NewDatabaseUser", vars.NewDatabaseUser);
|
||||
|
@ -523,6 +506,7 @@ namespace WebsitePanel.Setup.Actions
|
|||
AppConfig.SetComponentSettingStringValue(vars.ComponentId, Global.Parameters.CryptoKey, vars.CryptoKey);
|
||||
//
|
||||
AppConfig.SaveConfiguration();
|
||||
Log.WriteEnd("SaveEntServerConfigSettingsAction");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,25 +38,27 @@ namespace WebsitePanel.Setup
|
|||
public sealed class AppConfig
|
||||
{
|
||||
public const string AppConfigFileNameWithoutExtension = "WebsitePanel.Installer.exe";
|
||||
|
||||
static AppConfig()
|
||||
{
|
||||
ConfigurationPath = DefaultConfigurationPath;
|
||||
}
|
||||
private AppConfig()
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
private static Configuration appConfig = null;
|
||||
private static XmlDocument xmlConfig = null;
|
||||
|
||||
public static void LoadConfiguration()
|
||||
public static string ConfigurationPath { get; set; }
|
||||
public static string DefaultConfigurationPath { get { return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AppConfigFileNameWithoutExtension); } }
|
||||
public static void LoadConfiguration(ExeConfigurationFileMap FnMap = null, ConfigurationUserLevel CuLevel = ConfigurationUserLevel.None)
|
||||
{
|
||||
//
|
||||
var exePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AppConfigFileNameWithoutExtension);
|
||||
//
|
||||
appConfig = ConfigurationManager.OpenExeConfiguration(exePath);
|
||||
//
|
||||
if (FnMap == null)
|
||||
appConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationPath);
|
||||
else
|
||||
appConfig = ConfigurationManager.OpenMappedExeConfiguration(FnMap, CuLevel);
|
||||
ConfigurationSection section = appConfig.Sections["installer"];
|
||||
if (section == null)
|
||||
throw new ConfigurationErrorsException("instalelr section not found");
|
||||
|
||||
throw new ConfigurationErrorsException("installer section not found in " + appConfig.FilePath);
|
||||
string strXml = section.SectionInformation.GetRawXml();
|
||||
xmlConfig = new XmlDocument();
|
||||
xmlConfig.LoadXml(strXml);
|
||||
|
|
|
@ -48,9 +48,9 @@ namespace WebsitePanel.Setup
|
|||
/// <param name="bar">Progress bar.</param>
|
||||
/// <param name="source">Source folder.</param>
|
||||
/// <param name="destination">Destination folder.</param>
|
||||
public CopyProcess(ProgressBar bar, string source, string destination)
|
||||
public CopyProcess(object bar, string source, string destination)
|
||||
{
|
||||
this.progressBar = bar;
|
||||
this.progressBar = bar as ProgressBar;
|
||||
this.sourceFolder = new DirectoryInfo(source);
|
||||
this.destFolder = new DirectoryInfo(destination);
|
||||
}
|
||||
|
@ -63,9 +63,13 @@ namespace WebsitePanel.Setup
|
|||
// unzip
|
||||
long totalSize = FileUtils.CalculateFolderSize(sourceFolder.FullName);
|
||||
long copied = 0;
|
||||
|
||||
if (progressBar != null)
|
||||
{
|
||||
progressBar.Minimum = 0;
|
||||
progressBar.Maximum = 100;
|
||||
progressBar.Value = 0;
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
List<DirectoryInfo> folders = new List<DirectoryInfo>();
|
||||
|
@ -122,11 +126,14 @@ namespace WebsitePanel.Setup
|
|||
copied += files[i].Length;
|
||||
if (totalSize != 0)
|
||||
{
|
||||
if (progressBar != null)
|
||||
{
|
||||
progressBar.Value = Convert.ToInt32(copied * 100 / totalSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -170,5 +170,7 @@ namespace WebsitePanel.Setup
|
|||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
public static TraceListenerCollection Listeners { get { return Trace.Listeners; } }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -286,7 +286,8 @@ namespace WebsitePanel.Setup
|
|||
Windows7,
|
||||
WindowsServer2008R2,
|
||||
Windows8,
|
||||
WindowsServer2012
|
||||
WindowsServer2012,
|
||||
WindowsServer2012R2
|
||||
}
|
||||
|
||||
public static string GetName(WindowsVersion version)
|
||||
|
@ -428,6 +429,9 @@ namespace WebsitePanel.Setup
|
|||
else
|
||||
ret = WindowsVersion.WindowsServer2012;
|
||||
break;
|
||||
case 3:
|
||||
ret = WindowsVersion.WindowsServer2012R2;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -339,7 +339,7 @@ namespace WebsitePanel.Setup
|
|||
/// <returns></returns>
|
||||
internal static string GetSid(string userAccount, string domain)
|
||||
{
|
||||
if(domain == null)
|
||||
if(string.IsNullOrWhiteSpace(domain))
|
||||
domain = Environment.MachineName;
|
||||
|
||||
// try to get user account
|
||||
|
|
|
@ -481,11 +481,11 @@ namespace WebsitePanel.Setup
|
|||
public static void StopService(string serviceName)
|
||||
{
|
||||
ServiceController sc = new ServiceController(serviceName);
|
||||
// Start the service if the current status is stopped.
|
||||
// Stop the service if the current status is not stopped.
|
||||
if (sc.Status != ServiceControllerStatus.Stopped &&
|
||||
sc.Status != ServiceControllerStatus.StopPending)
|
||||
{
|
||||
// Start the service, and wait until its status is "Running".
|
||||
// Stop the service, and wait until its status is "Running".
|
||||
sc.Stop();
|
||||
sc.WaitForStatus(ServiceControllerStatus.Stopped);
|
||||
}
|
||||
|
|
|
@ -46,9 +46,9 @@ namespace WebsitePanel.Setup.Common
|
|||
int totalFiles = 0;
|
||||
int files = 0;
|
||||
|
||||
public ZipIndicator(ProgressBar progressBar, string sourcePath, string zipFile)
|
||||
public ZipIndicator(object progressBar, string sourcePath, string zipFile)
|
||||
{
|
||||
this.progressBar = progressBar;
|
||||
this.progressBar = progressBar as ProgressBar;
|
||||
this.sourcePath = sourcePath;
|
||||
this.zipFile = zipFile;
|
||||
}
|
||||
|
@ -71,9 +71,12 @@ namespace WebsitePanel.Setup.Common
|
|||
{
|
||||
string fileName = e.CurrentEntry.FileName;
|
||||
files++;
|
||||
if (this.progressBar != null)
|
||||
{
|
||||
this.progressBar.Value = Convert.ToInt32(files * 100 / totalFiles);
|
||||
this.progressBar.Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -143,6 +143,7 @@
|
|||
<Compile Include="Common\ZipIndicator.cs" />
|
||||
<Compile Include="EnterpriseServer10.cs" />
|
||||
<Compile Include="EnterpriseServer20.cs" />
|
||||
<Compile Include="Internal\Adapter.cs" />
|
||||
<Compile Include="Portal10.cs" />
|
||||
<Compile Include="Portal20.cs" />
|
||||
<Compile Include="Server10.cs" />
|
||||
|
|
|
@ -127,13 +127,13 @@ namespace WebsitePanel.Setup
|
|||
switch (check.CheckType)
|
||||
{
|
||||
case CheckTypes.OperationSystem:
|
||||
status = CheckOS(out details);
|
||||
status = CheckOS(check.SetupVariables, out details);
|
||||
break;
|
||||
case CheckTypes.IISVersion:
|
||||
status = CheckIISVersion(out details);
|
||||
status = CheckIISVersion(check.SetupVariables, out details);
|
||||
break;
|
||||
case CheckTypes.ASPNET:
|
||||
status = CheckASPNET(out details);
|
||||
status = CheckASPNET(check.SetupVariables, out details);
|
||||
break;
|
||||
case CheckTypes.WPServer:
|
||||
status = CheckWPServer(check.SetupVariables, out details);
|
||||
|
@ -221,7 +221,7 @@ namespace WebsitePanel.Setup
|
|||
|
||||
}
|
||||
|
||||
private CheckStatuses CheckOS(out string details)
|
||||
internal static CheckStatuses CheckOS(SetupVariables setupVariables, out string details)
|
||||
{
|
||||
details = string.Empty;
|
||||
try
|
||||
|
@ -237,6 +237,7 @@ namespace WebsitePanel.Setup
|
|||
version == OS.WindowsVersion.WindowsServer2008 ||
|
||||
version == OS.WindowsVersion.WindowsServer2008R2 ||
|
||||
version == OS.WindowsVersion.WindowsServer2012 ||
|
||||
version == OS.WindowsVersion.WindowsServer2012R2 ||
|
||||
version == OS.WindowsVersion.WindowsVista ||
|
||||
version == OS.WindowsVersion.Windows7 ||
|
||||
version == OS.WindowsVersion.Windows8 ))
|
||||
|
@ -260,20 +261,20 @@ namespace WebsitePanel.Setup
|
|||
return CheckStatuses.Error;
|
||||
}
|
||||
}
|
||||
private CheckStatuses CheckIISVersion(out string details)
|
||||
internal static CheckStatuses CheckIISVersion(SetupVariables setupVariables, out string details)
|
||||
{
|
||||
details = string.Empty;
|
||||
try
|
||||
{
|
||||
details = string.Format("IIS {0}", SetupVariables.IISVersion.ToString(2));
|
||||
if (SetupVariables.IISVersion.Major == 6 &&
|
||||
details = string.Format("IIS {0}", setupVariables.IISVersion.ToString(2));
|
||||
if (setupVariables.IISVersion.Major == 6 &&
|
||||
Utils.IsWin64() && Utils.IIS32Enabled())
|
||||
{
|
||||
details += " (32-bit mode)";
|
||||
}
|
||||
|
||||
Log.WriteInfo(string.Format("IIS check: {0}", details));
|
||||
if (SetupVariables.IISVersion.Major < 6)
|
||||
if (setupVariables.IISVersion.Major < 6)
|
||||
{
|
||||
details = "IIS 6.0 or greater required.";
|
||||
Log.WriteError(string.Format("IIS check: {0}", details), null);
|
||||
|
@ -291,26 +292,26 @@ namespace WebsitePanel.Setup
|
|||
}
|
||||
}
|
||||
|
||||
private CheckStatuses CheckASPNET(out string details)
|
||||
internal static CheckStatuses CheckASPNET(SetupVariables setupVariables, out string details)
|
||||
{
|
||||
details = "ASP.NET 4.0 is installed.";
|
||||
CheckStatuses ret = CheckStatuses.Success;
|
||||
try
|
||||
{
|
||||
// IIS 6
|
||||
if (SetupVariables.IISVersion.Major == 6)
|
||||
if (setupVariables.IISVersion.Major == 6)
|
||||
{
|
||||
//
|
||||
if (Utils.CheckAspNet40Registered(SetupVariables) == false)
|
||||
if (Utils.CheckAspNet40Registered(setupVariables) == false)
|
||||
{
|
||||
// Register ASP.NET 4.0
|
||||
Utils.RegisterAspNet40(SetupVariables);
|
||||
Utils.RegisterAspNet40(setupVariables);
|
||||
//
|
||||
ret = CheckStatuses.Warning;
|
||||
details = AspNet40HasBeenInstalledMessage;
|
||||
}
|
||||
// Enable ASP.NET 4.0 Web Server Extension if it is prohibited
|
||||
if (Utils.GetAspNetWebExtensionStatus_Iis6(SetupVariables) == WebExtensionStatus.Prohibited)
|
||||
if (Utils.GetAspNetWebExtensionStatus_Iis6(setupVariables) == WebExtensionStatus.Prohibited)
|
||||
{
|
||||
Utils.EnableAspNetWebExtension_Iis6();
|
||||
}
|
||||
|
@ -331,10 +332,10 @@ namespace WebsitePanel.Setup
|
|||
return CheckStatuses.Error;
|
||||
}
|
||||
// Register ASP.NET 4.0
|
||||
if (Utils.CheckAspNet40Registered(SetupVariables) == false)
|
||||
if (Utils.CheckAspNet40Registered(setupVariables) == false)
|
||||
{
|
||||
// Register ASP.NET 4.0
|
||||
Utils.RegisterAspNet40(SetupVariables);
|
||||
Utils.RegisterAspNet40(setupVariables);
|
||||
//
|
||||
ret = CheckStatuses.Warning;
|
||||
details = AspNet40HasBeenInstalledMessage;
|
||||
|
@ -359,17 +360,17 @@ namespace WebsitePanel.Setup
|
|||
}
|
||||
}
|
||||
|
||||
private CheckStatuses CheckIIS32Mode(out string details)
|
||||
internal static CheckStatuses CheckIIS32Mode(SetupVariables setupVariables, out string details)
|
||||
{
|
||||
details = string.Empty;
|
||||
CheckStatuses ret = CheckIISVersion(out details);
|
||||
CheckStatuses ret = CheckIISVersion(setupVariables, out details);
|
||||
if (ret == CheckStatuses.Error)
|
||||
return ret;
|
||||
|
||||
try
|
||||
{
|
||||
//IIS 6
|
||||
if (SetupVariables.IISVersion.Major == 6)
|
||||
if (setupVariables.IISVersion.Major == 6)
|
||||
{
|
||||
//x64
|
||||
if (Utils.IsWin64())
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller.Common
|
||||
{
|
||||
class InMemoryStringLogListener : TraceListener
|
||||
{
|
||||
private const string Format = "[{0}] Message: {1}";
|
||||
static private StringBuilder m_Ctx;
|
||||
string m_id;
|
||||
static InMemoryStringLogListener()
|
||||
{
|
||||
m_Ctx = new StringBuilder();
|
||||
}
|
||||
public InMemoryStringLogListener(string InstanceID)
|
||||
: base(InstanceID)
|
||||
{
|
||||
m_id = InstanceID;
|
||||
}
|
||||
public override void Write(string Value)
|
||||
{
|
||||
WriteLog(Value);
|
||||
}
|
||||
public override void WriteLine(string Value)
|
||||
{
|
||||
WriteLog(Value + Environment.NewLine);
|
||||
}
|
||||
[Conditional("DEBUG")]
|
||||
private void WriteLog(string Value)
|
||||
{
|
||||
m_Ctx.Append(string.Format(Format, m_id, Value));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller.Common
|
||||
{
|
||||
internal struct Prop
|
||||
{
|
||||
public const int REQ_IIS_MINIMUM = 6;
|
||||
public const string REQ_LOG = "PI_PREREQ_LOG";
|
||||
public const string REQ_OS = "PI_PREREQ_OS";
|
||||
public const string REQ_IIS = "PI_PREREQ_IIS";
|
||||
public const string REQ_IIS_MAJOR = "PI_PREREQ_IIS_MAJOR";
|
||||
public const string REQ_IIS_MINOR = "PI_PREREQ_IIS_MINOR";
|
||||
public const string REQ_ASPNET = "PI_PREREQ_ASPNET";
|
||||
public const string REQ_SERVER = "PI_PREREQ_WP_SERVER";
|
||||
public const string REQ_ESERVER = "PI_PREREQ_WP_ESERVER";
|
||||
public const string REQ_PORTAL = "PI_PREREQ_WP_PORTAL";
|
||||
public const string REQ_WDPORTAL = "PI_PREREQ_WP_WDPORTAL";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using Microsoft.Deployment.WindowsInstaller;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using WebsitePanel.Setup;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller.Common
|
||||
{
|
||||
internal static class Tool
|
||||
{
|
||||
public static SetupVariables GetSetupVars(Session Ctx)
|
||||
{
|
||||
return new SetupVariables
|
||||
{
|
||||
SetupAction = SetupActions.Install,
|
||||
IISVersion = Global.IISVersion
|
||||
};
|
||||
}
|
||||
|
||||
public static void FillServerVariables(SetupVariables Vars)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void FillEServerVariables(SetupVariables Vars)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static void FillPortalVariables(SetupVariables Vars)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
using System;
|
||||
using Microsoft.Deployment.WindowsInstaller;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller.Common.Util
|
||||
{
|
||||
internal interface IListCtrl
|
||||
{
|
||||
ulong Count { get; }
|
||||
string Id { get; }
|
||||
void AddItem(Record Item);
|
||||
}
|
||||
|
||||
internal abstract class ListCtrlBase : IListCtrl
|
||||
{
|
||||
private Session m_Ctx;
|
||||
private string m_CtrlType;
|
||||
private string m_CtrlId;
|
||||
private View m_View;
|
||||
private ulong m_Count;
|
||||
|
||||
public ListCtrlBase(Session session, string CtrlType, string CtrlId)
|
||||
{
|
||||
m_Ctx = session;
|
||||
m_CtrlType = CtrlType;
|
||||
m_CtrlId = CtrlId;
|
||||
m_View = null;
|
||||
m_Count = 0;
|
||||
Initialize();
|
||||
}
|
||||
|
||||
~ListCtrlBase()
|
||||
{
|
||||
if (m_View != null)
|
||||
m_View.Close();
|
||||
}
|
||||
|
||||
public virtual ulong Count { get { return m_Count; } }
|
||||
|
||||
public virtual string Id { get { return m_CtrlId; } }
|
||||
|
||||
public virtual void AddItem(Record Item)
|
||||
{
|
||||
m_View.Execute(Item);
|
||||
++m_Count;
|
||||
}
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
m_Ctx.Database.Execute(string.Format("DELETE FROM `{0}` WHERE `Property`='{1}'", m_CtrlType, m_CtrlId));
|
||||
m_View = m_Ctx.Database.OpenView(m_Ctx.Database.Tables[m_CtrlType].SqlInsertString + " TEMPORARY");
|
||||
}
|
||||
}
|
||||
|
||||
class ListViewCtrl : ListCtrlBase
|
||||
{
|
||||
public ListViewCtrl(Session session, string WiXListID) : base(session, "ListView", WiXListID)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void AddItem(bool Checked, string Value)
|
||||
{
|
||||
AddItem(new Record(new object[] { Id, Count, Value, Value, Checked ? "passmark" : "failmark" }));
|
||||
}
|
||||
}
|
||||
|
||||
class ComboBoxCtrl : ListCtrlBase
|
||||
{
|
||||
public ComboBoxCtrl(Session session, string WiXComboID): base(session, "ComboBox", WiXComboID)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void AddItem(string Value)
|
||||
{
|
||||
AddItem(new Record(new object[] { Id, Count, Value, Value }));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using Microsoft.Deployment.WindowsInstaller;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller.Common
|
||||
{
|
||||
public class WiXLogListener : TraceListener
|
||||
{
|
||||
private Session m_Ctx;
|
||||
public WiXLogListener(Session Ctx)
|
||||
: base("WiXLogListener")
|
||||
{
|
||||
m_Ctx = Ctx;
|
||||
}
|
||||
|
||||
public override void Write(string Value)
|
||||
{
|
||||
m_Ctx.Log(Value);
|
||||
}
|
||||
|
||||
public override void WriteLine(string Value)
|
||||
{
|
||||
m_Ctx.Log(Value + Environment.NewLine);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller.Common
|
||||
{
|
||||
internal struct YesNo
|
||||
{
|
||||
public static string Yes { get { return "1"; } }
|
||||
|
||||
public static string No { get { return "0"; } }
|
||||
}
|
||||
}
|
|
@ -25,51 +25,244 @@
|
|||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration.Install;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Sockets;
|
||||
using System.ServiceProcess;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.VisualStyles;
|
||||
using System.Xml;
|
||||
using Microsoft.Deployment.WindowsInstaller;
|
||||
using WebsitePanel.Setup;
|
||||
using WebsitePanel.Setup.Internal;
|
||||
using WebsitePanel.WIXInstaller.Common;
|
||||
using WebsitePanel.WIXInstaller.Common.Util;
|
||||
|
||||
namespace WebsitePanel.WIXInstaller
|
||||
{
|
||||
public class CustomActions
|
||||
{
|
||||
public static List<string> SysDb = new List<string> { "tempdb", "master", "model", "msdb" };
|
||||
public const string CustomDataDelimiter = "-=del=-";
|
||||
|
||||
#region CustomActions
|
||||
// Install.
|
||||
[CustomAction]
|
||||
public static ActionResult CheckConnection(Session session)
|
||||
public static ActionResult OnServerInstall(Session session)
|
||||
{
|
||||
string testConnectionString = session["AUTHENTICATIONTYPE"].Equals("Windows Authentication") ? GetConnectionString(session["SERVERNAME"], "master") : GetConnectionString(session["SERVERNAME"], "master", session["LOGIN"], session["PASSWORD"]);
|
||||
|
||||
if (CheckConnection(testConnectionString))
|
||||
PopUpDebugger();
|
||||
return ProcessInstall(session, WiXInstallType.InstallServer);
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult OnEServerInstall(Session session)
|
||||
{
|
||||
session["CORRECTCONNECTION"] = "1";
|
||||
session["CONNECTIONSTRING"] = session["AUTHENTICATIONTYPE"].Equals("Windows Authentication") ? GetConnectionString(session["SERVERNAME"], session["DATABASENAME"]) : GetConnectionString(session["SERVERNAME"], session["DATABASENAME"], session["LOGIN"], session["PASSWORD"]);
|
||||
PopUpDebugger();
|
||||
return ProcessInstall(session, WiXInstallType.InstallEnterpriseServer);
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult OnPortalInstall(Session session)
|
||||
{
|
||||
PopUpDebugger();
|
||||
return ProcessInstall(session, WiXInstallType.InstallPortal);
|
||||
}
|
||||
// Remove.
|
||||
[CustomAction]
|
||||
public static ActionResult OnServerRemove(Session session)
|
||||
{
|
||||
PopUpDebugger();
|
||||
return ProcessInstall(session, WiXInstallType.RemoveServer);
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult OnEServerRemove(Session session)
|
||||
{
|
||||
PopUpDebugger();
|
||||
return ProcessInstall(session, WiXInstallType.RemoveEnterpriseServer);
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult OnPortalRemove(Session session)
|
||||
{
|
||||
PopUpDebugger();
|
||||
return ProcessInstall(session, WiXInstallType.RemovePortal);
|
||||
}
|
||||
// Other.
|
||||
[CustomAction]
|
||||
public static ActionResult SetEServerUrlUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
Ctx["PI_ESERVER_URL"] = string.Format("http://{0}:{1}/", Ctx["PI_ESERVER_IP"], Ctx["PI_ESERVER_PORT"]);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult RecapListUI(Session session)
|
||||
{
|
||||
const string F_WSP = "WebsitePanel";
|
||||
const string F_Server = "ServerFeature";
|
||||
const string F_EServer = "EnterpriseServerFeature";
|
||||
const string F_Portal = "PortalFeature";
|
||||
const string F_Scheduler = "SchedulerServiceFeature";
|
||||
const string F_WDPosrtal = "WDPortalFeature";
|
||||
var S_Install = new List<string> { "Copy WebsitePanel Server files", "Add WebsitePanel Server website" };
|
||||
var ES_Install = new List<string> { "Copy WebsitePanel Enterprise Server files", "Install WebsitePanel database and updates", "Add WebsitePanel Enterprise Server website" };
|
||||
var P_Install = new List<string> { "Copy WebsitePanel Portal files", "Add WebsitePanel Enterprise Portal website" };
|
||||
var SCH_Install = new List<string> { "Copy WebsitePanel Scheduler Service files", "Install Scheduler Service Windows Service" };
|
||||
var WDP_Install = new List<string> { "Copy WebsitePanel WebDav Portal files" };
|
||||
var S_Uninstall = new List<string> { "Delete WebsitePanel Server files", "Remove WebsitePanel Server website" };
|
||||
var ES_Uninstall = new List<string> { "Delete WebsitePanel Enterprise Server files", "Keep WebsitePanel database and updates", "Remove WebsitePanel Enterprise Server website" };
|
||||
var P_Uninstall = new List<string> { "Delete WebsitePanel Portal files", "Remove WebsitePanel Enterprise Portal website" };
|
||||
var SCH_Uninstall = new List<string> { "Delete WebsitePanel Scheduler Service files", "Remove Scheduler Service Windows Service" };
|
||||
var WDP_Uninstall = new List<string> { "Delete WebsitePanel WebDav Portal files" };
|
||||
var RecapList = new List<string>();
|
||||
var EmptyList = new List<string>();
|
||||
var Ctx = session;
|
||||
RecapListReset(Ctx);
|
||||
foreach (var Feature in Ctx.Features)
|
||||
{
|
||||
switch (Feature.Name)
|
||||
{
|
||||
case F_WSP:
|
||||
break;
|
||||
case F_Server:
|
||||
RecapList.AddRange(Feature.RequestState == InstallState.Local ? S_Install : /*S_Uninstall*/ EmptyList);
|
||||
break;
|
||||
case F_EServer:
|
||||
RecapList.AddRange(Feature.RequestState == InstallState.Local ? ES_Install : /*ES_Uninstall*/ EmptyList);
|
||||
break;
|
||||
case F_Portal:
|
||||
RecapList.AddRange(Feature.RequestState == InstallState.Local ? P_Install : /*P_Uninstall*/ EmptyList);
|
||||
break;
|
||||
case F_Scheduler:
|
||||
RecapList.AddRange(Feature.RequestState == InstallState.Local ? SCH_Install : /*SCH_Uninstall*/ EmptyList);
|
||||
break;
|
||||
case F_WDPosrtal:
|
||||
RecapList.AddRange(Feature.RequestState == InstallState.Local ? WDP_Install : /*WDP_Uninstall*/ EmptyList);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
RecapListAdd(Ctx, RecapList.ToArray());
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult DatabaseConnectionValidateUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
bool Valid = true;
|
||||
string Msg;
|
||||
ValidationReset(Ctx);
|
||||
Valid = ValidateDbNameUI(Ctx, out Msg);
|
||||
ValidationMsg(Ctx, Msg);
|
||||
ValidationStatus(Ctx, Valid);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult ServerAdminValidateUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
bool Valid = true;
|
||||
string Msg;
|
||||
ValidationReset(Ctx);
|
||||
Valid = ValidatePasswordUI(Ctx, "SERVERADMIN", out Msg);
|
||||
ValidationMsg(Ctx, Msg);
|
||||
ValidationStatus(Ctx, Valid);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult ServerValidateADUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
bool Valid = true;
|
||||
string Msg;
|
||||
ValidationReset(Ctx);
|
||||
Valid = ValidateADUI(Ctx, "PI_SERVER", out Msg);
|
||||
ValidationMsg(Ctx, Msg);
|
||||
ValidationStatus(Ctx, Valid);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult EServerValidateADUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
bool Valid = true;
|
||||
string Msg;
|
||||
ValidationReset(Ctx);
|
||||
Valid = ValidateADUI(Ctx, "PI_ESERVER", out Msg);
|
||||
ValidationMsg(Ctx, Msg);
|
||||
ValidationStatus(Ctx, Valid);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult PortalValidateADUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
bool Valid = true;
|
||||
string Msg;
|
||||
ValidationReset(Ctx);
|
||||
Valid = ValidateADUI(Ctx, "PI_PORTAL", out Msg);
|
||||
ValidationMsg(Ctx, Msg);
|
||||
ValidationStatus(Ctx, Valid);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult ServerAccessValidateUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
bool Valid = true;
|
||||
string Msg;
|
||||
ValidationReset(Ctx);
|
||||
Valid = ValidatePasswordUI(Ctx, "SERVER_ACCESS", out Msg);
|
||||
ValidationMsg(Ctx, Msg);
|
||||
ValidationStatus(Ctx, Valid);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult SqlServerListUI(Session session)
|
||||
{
|
||||
var Ctx = session;
|
||||
var SrvList = new ComboBoxCtrl(Ctx, "DB_SERVER");
|
||||
foreach (var Srv in GetSqlInstances())
|
||||
SrvList.AddItem(Srv);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult DbListUI(Session session)
|
||||
{
|
||||
string tmp;
|
||||
var Ctrl = new ComboBoxCtrl(session, "DB_SELECT");
|
||||
if (CheckConnection(session["DB_CONN"], out tmp))
|
||||
foreach (var Db in GetDbList(ConnStr: session["DB_CONN"], ForbiddenNames: SysDb))
|
||||
{
|
||||
Ctrl.AddItem(Db);
|
||||
session["DB_SELECT"] = Db; // Adds available DBs to installer log.
|
||||
}
|
||||
else
|
||||
{
|
||||
session["CORRECTCONNECTION"] = "0";
|
||||
session["DB_SELECT"] = "";
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
||||
[CustomAction]
|
||||
public static ActionResult CheckConnectionUI(Session session)
|
||||
{
|
||||
string ConnStr = session["DB_AUTH"].Equals("Windows Authentication") ? GetConnectionString(session["DB_SERVER"], "master") :
|
||||
GetConnectionString(session["DB_SERVER"], "master", session["DB_LOGIN"], session["DB_PASSWORD"]);
|
||||
string msg;
|
||||
bool Result = CheckConnection(ConnStr, out msg);
|
||||
session["DB_CONN_CORRECT"] = Result ? "1" : "0";
|
||||
session["DB_CONN"] = Result ? ConnStr : "";
|
||||
session["DB_CONN_MSG"] = msg;
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
||||
[CustomAction]
|
||||
public static ActionResult FinalizeInstall(Session session)
|
||||
{
|
||||
var connectionString = GetCustomActionProperty(session, "ConnectionString").Replace(CustomDataDelimiter, ";");
|
||||
/*var connectionString = GetCustomActionProperty(session, "ConnectionString").Replace(CustomDataDelimiter, ";");
|
||||
var serviceFolder = GetCustomActionProperty(session, "ServiceFolder");
|
||||
var previousConnectionString = GetCustomActionProperty(session, "PreviousConnectionString").Replace(CustomDataDelimiter, ";");
|
||||
var previousCryptoKey = GetCustomActionProperty(session, "PreviousCryptoKey");
|
||||
|
@ -85,7 +278,7 @@ namespace WebsitePanel.WIXInstaller
|
|||
|
||||
ChangeConfigString("/configuration/connectionStrings/add[@name='EnterpriseServer']", "connectionString", connectionString, serviceFolder);
|
||||
ChangeConfigString("/configuration/appSettings/add[@key='WebsitePanel.CryptoKey']", "value", previousCryptoKey, serviceFolder);
|
||||
InstallService(serviceFolder);
|
||||
InstallService(serviceFolder);*/
|
||||
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
@ -93,7 +286,7 @@ namespace WebsitePanel.WIXInstaller
|
|||
[CustomAction]
|
||||
public static ActionResult FinalizeUnInstall(Session session)
|
||||
{
|
||||
UnInstallService();
|
||||
// UnInstallService();
|
||||
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
@ -105,7 +298,7 @@ namespace WebsitePanel.WIXInstaller
|
|||
|
||||
session["SERVICEFOLDER"] = session["INSTALLFOLDER"];
|
||||
|
||||
var servicePath = SecurityUtils.GetServicePath("WebsitePanel Scheduler");
|
||||
var servicePath = /*SecurityUtils.GetServicePath("WebsitePanel Scheduler")*/"";
|
||||
|
||||
if (!string.IsNullOrEmpty(servicePath))
|
||||
{
|
||||
|
@ -138,6 +331,52 @@ namespace WebsitePanel.WIXInstaller
|
|||
return ActionResult.Success;
|
||||
}
|
||||
|
||||
[CustomAction]
|
||||
public static ActionResult PrereqCheck(Session session)
|
||||
{
|
||||
string Msg;
|
||||
var Ctx = Tool.GetSetupVars(session);
|
||||
var ros = Adapter.CheckOS(Ctx, out Msg);
|
||||
AddLog(session, Msg);
|
||||
var riis = Adapter.CheckIIS(Ctx, out Msg);
|
||||
AddLog(session, Msg);
|
||||
var raspnet = Adapter.CheckASPNET(Ctx, out Msg);
|
||||
AddLog(session, Msg);
|
||||
session[Prop.REQ_OS] = ros == CheckStatuses.Success ? YesNo.Yes : YesNo.No;
|
||||
session[Prop.REQ_IIS] = riis == CheckStatuses.Success ? YesNo.Yes : YesNo.No; ;
|
||||
session[Prop.REQ_ASPNET] = raspnet == CheckStatuses.Success ? YesNo.Yes : YesNo.No; ;
|
||||
session[Prop.REQ_SERVER] = YesNo.Yes;
|
||||
session[Prop.REQ_ESERVER] = YesNo.Yes;
|
||||
session[Prop.REQ_PORTAL] = YesNo.Yes;
|
||||
session[Prop.REQ_WDPORTAL] = YesNo.Yes;
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult PrereqCheckUI(Session session)
|
||||
{
|
||||
var ListView = new ListViewCtrl(session, "REQCHECKLIST");
|
||||
AddCheck(ListView, session, Prop.REQ_OS);
|
||||
AddCheck(ListView, session, Prop.REQ_IIS);
|
||||
AddCheck(ListView, session, Prop.REQ_ASPNET);
|
||||
AddCheck(ListView, session, Prop.REQ_SERVER);
|
||||
AddCheck(ListView, session, Prop.REQ_ESERVER);
|
||||
AddCheck(ListView, session, Prop.REQ_PORTAL);
|
||||
AddCheck(ListView, session, Prop.REQ_WDPORTAL);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[CustomAction]
|
||||
public static ActionResult FillIpListUI(Session session)
|
||||
{
|
||||
var Ctrls = new[]{ new ComboBoxCtrl(session, "PI_SERVER_IP"),
|
||||
new ComboBoxCtrl(session, "PI_ESERVER_IP"),
|
||||
new ComboBoxCtrl(session, "PI_PORTAL_IP") };
|
||||
foreach (var Ip in GetIpList())
|
||||
foreach (var Ctrl in Ctrls)
|
||||
Ctrl.AddItem(Ip);
|
||||
return ActionResult.Success;
|
||||
}
|
||||
|
||||
#endregion
|
||||
private static void InstallService(string installFolder)
|
||||
{
|
||||
try
|
||||
|
@ -204,7 +443,6 @@ namespace WebsitePanel.WIXInstaller
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private static void StopService(string serviceName)
|
||||
{
|
||||
var sc = new ServiceController(serviceName);
|
||||
|
@ -229,36 +467,30 @@ namespace WebsitePanel.WIXInstaller
|
|||
|
||||
private static string GetConnectionString(string serverName, string databaseName)
|
||||
{
|
||||
return string.Format("Server={0};database={1};Trusted_Connection=true;", serverName, databaseName).Replace(";", CustomDataDelimiter);
|
||||
return string.Format("Server={0};database={1};Trusted_Connection=true;", serverName, databaseName)/*.Replace(";", CustomDataDelimiter)*/;
|
||||
}
|
||||
|
||||
private static string GetConnectionString(string serverName, string databaseName, string login, string password)
|
||||
{
|
||||
return string.Format("Server={0};database={1};uid={2};password={3};", serverName, databaseName, login, password).Replace(";", CustomDataDelimiter);
|
||||
return string.Format("Server={0};database={1};uid={2};password={3};", serverName, databaseName, login, password)/*.Replace(";", CustomDataDelimiter)*/;
|
||||
}
|
||||
|
||||
private static bool CheckConnection(string connectionString)
|
||||
static bool CheckConnection(string ConnStr, out string Info)
|
||||
{
|
||||
Info = string.Empty;
|
||||
bool Result = false;
|
||||
using (var Conn = new SqlConnection(ConnStr))
|
||||
{
|
||||
var connection = new SqlConnection(connectionString);
|
||||
bool result = true;
|
||||
|
||||
try
|
||||
{
|
||||
connection.Open();
|
||||
Conn.Open();
|
||||
Result = true;
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (connection != null && connection.State == ConnectionState.Open)
|
||||
{
|
||||
connection.Close();
|
||||
Info = ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return Result;
|
||||
}
|
||||
|
||||
private static string GetCustomActionProperty(Session session, string key)
|
||||
|
@ -270,5 +502,235 @@ namespace WebsitePanel.WIXInstaller
|
|||
|
||||
return string.Empty;
|
||||
}
|
||||
private static void AddCheck(ListViewCtrl view, Session session, string PropertyID)
|
||||
{
|
||||
view.AddItem(session[PropertyID] == YesNo.Yes, session[PropertyID + "_TITLE"]);
|
||||
}
|
||||
static IList<string> GetSqlInstances()
|
||||
{
|
||||
var Result = new List<string>();
|
||||
using (var Src = SqlDataSourceEnumerator.Instance.GetDataSources())
|
||||
{
|
||||
foreach (DataRow Row in Src.Rows)
|
||||
{
|
||||
var Instance = Row["InstanceName"].ToString();
|
||||
Result.Add((string.IsNullOrWhiteSpace(Instance) ? "" : (Instance + "\\")) + Row["ServerName"].ToString());
|
||||
}
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
static IEnumerable<string> GetDbList(string ConnStr, IList<string> ForbiddenNames = null)
|
||||
{
|
||||
using (var Conn = new SqlConnection(ConnStr))
|
||||
{
|
||||
Conn.Open();
|
||||
var Cmd = Conn.CreateCommand();
|
||||
Cmd.CommandText = "SELECT name FROM master..sysdatabases";
|
||||
if (ForbiddenNames != null && ForbiddenNames.Count > 0)
|
||||
Cmd.CommandText += string.Format(" WHERE name NOT IN ({0})", string.Join(", ", ForbiddenNames.Select(x => string.Format("'{0}'", x))));
|
||||
var Result = Cmd.ExecuteReader();
|
||||
while (Result.Read())
|
||||
yield return Result["name"].ToString();
|
||||
}
|
||||
}
|
||||
static IEnumerable<string> GetIpList()
|
||||
{
|
||||
foreach (var Ni in NetworkInterface.GetAllNetworkInterfaces())
|
||||
if (Ni.OperationalStatus == OperationalStatus.Up && (Ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet ||
|
||||
Ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 ||
|
||||
Ni.NetworkInterfaceType == NetworkInterfaceType.Loopback))
|
||||
foreach (var IpInfo in Ni.GetIPProperties().UnicastAddresses)
|
||||
if (IpInfo.Address.AddressFamily == AddressFamily.InterNetwork)
|
||||
yield return IpInfo.Address.ToString();
|
||||
}
|
||||
internal static void AddLog(Session Ctx, string Msg)
|
||||
{
|
||||
AddTo(Ctx, "PI_PREREQ_LOG", Msg);
|
||||
}
|
||||
internal static void AddTo(Session Ctx, string TextProp, string Msg)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(Msg))
|
||||
{
|
||||
string tmp = Ctx[TextProp];
|
||||
if (string.IsNullOrWhiteSpace(tmp))
|
||||
Ctx[TextProp] = Msg;
|
||||
else
|
||||
Ctx[TextProp] = tmp + Environment.NewLine + Msg;
|
||||
}
|
||||
}
|
||||
internal static void ValidationReset(Session Ctx)
|
||||
{
|
||||
Ctx["VALIDATE_OK"] = "0";
|
||||
Ctx["VALIDATE_MSG"] = "Error occurred.";
|
||||
}
|
||||
internal static void ValidationStatus(Session Ctx, bool Value)
|
||||
{
|
||||
Ctx["VALIDATE_OK"] = Value ? YesNo.Yes : YesNo.No;
|
||||
}
|
||||
internal static void ValidationMsg(Session Ctx, string Msg)
|
||||
{
|
||||
AddTo(Ctx, "VALIDATE_MSG", Msg);
|
||||
}
|
||||
internal static bool PasswordValidate(string Password, string Confirm, out string Msg)
|
||||
{
|
||||
Msg = string.Empty;
|
||||
bool Result = false;
|
||||
if (string.IsNullOrWhiteSpace(Password))
|
||||
Msg = "Empty password.";
|
||||
else if (Password != Confirm)
|
||||
Msg = "Password does not match the confirm password. Type both passwords again.";
|
||||
else
|
||||
Result = true;
|
||||
return Result;
|
||||
}
|
||||
internal static bool ValidatePasswordUI(Session Ctx, string Ns, out string Msg)
|
||||
{
|
||||
string p1 = Ctx[Ns + "_PASSWORD"];
|
||||
string p2 = Ctx[Ns + "_PASSWORD_CONFIRM"];
|
||||
return PasswordValidate(p1, p2, out Msg);
|
||||
}
|
||||
internal static bool ValidateADDomainUI(Session Ctx, string Ns, out string Msg)
|
||||
{
|
||||
bool Result = default(bool);
|
||||
bool check = Ctx[Ns + "_CREATE_AD"] == YesNo.Yes;
|
||||
string name = Ctx[Ns + "_DOMAIN"];
|
||||
if (check && string.IsNullOrWhiteSpace(name))
|
||||
{
|
||||
Result = false;
|
||||
Msg = "The domain can't be empty.";
|
||||
}
|
||||
else
|
||||
{
|
||||
Result = true;
|
||||
Msg = string.Empty;
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
internal static bool ValidateADLoginUI(Session Ctx, string Ns, out string Msg)
|
||||
{
|
||||
bool Result = default(bool);
|
||||
string name = Ctx[Ns + "_LOGIN"];
|
||||
if (string.IsNullOrWhiteSpace(name))
|
||||
{
|
||||
Result = false;
|
||||
Msg = "The login can't be empty.";
|
||||
}
|
||||
else
|
||||
{
|
||||
Result = true;
|
||||
Msg = string.Empty;
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
internal static bool ValidateADUI(Session Ctx, string Ns, out string Msg)
|
||||
{
|
||||
bool Result = true;
|
||||
if (!ValidateADDomainUI(Ctx, Ns, out Msg))
|
||||
Result = false;
|
||||
else if (!ValidateADLoginUI(Ctx, Ns, out Msg))
|
||||
Result = false;
|
||||
else if (!ValidatePasswordUI(Ctx, Ns, out Msg))
|
||||
Result = false;
|
||||
return Result;
|
||||
}
|
||||
internal static bool ValidateDbNameUI(Session Ctx, out string Msg)
|
||||
{
|
||||
Msg = string.Empty;
|
||||
var Result = true;
|
||||
string DbName = Ctx["DB_DATABASE"];
|
||||
if (string.IsNullOrWhiteSpace(DbName))
|
||||
{
|
||||
Result = false;
|
||||
Msg = "The database name can't be empty.";
|
||||
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
internal static void RecapListReset(Session Ctx)
|
||||
{
|
||||
Ctx["CUSTOM_INSTALL_TEXT"] = string.Empty;
|
||||
}
|
||||
internal static void RecapListAdd(Session Ctx, params string[] Msgs)
|
||||
{
|
||||
foreach (var Msg in Msgs)
|
||||
AddTo(Ctx, "CUSTOM_INSTALL_TEXT", Msg); ;
|
||||
}
|
||||
|
||||
internal static string GetProperty(Session Ctx, string Property)
|
||||
{
|
||||
if (Ctx.CustomActionData.ContainsKey(Property))
|
||||
return Ctx[Property];
|
||||
else
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
private static ActionResult ProcessInstall(Session Ctx, WiXInstallType InstallType)
|
||||
{
|
||||
IWiXSetup Install = null;
|
||||
try
|
||||
{
|
||||
Ctx.AttachToSetupLog();
|
||||
switch (InstallType)
|
||||
{
|
||||
case WiXInstallType.InstallServer:
|
||||
Install = ServerSetup.Create(Ctx.CustomActionData, SetupActions.Install);
|
||||
break;
|
||||
case WiXInstallType.RemoveServer:
|
||||
Install = ServerSetup.Create(Ctx.CustomActionData, SetupActions.Uninstall);
|
||||
break;
|
||||
case WiXInstallType.InstallEnterpriseServer:
|
||||
Install = EServerSetup.Create(Ctx.CustomActionData, SetupActions.Install);
|
||||
break;
|
||||
case WiXInstallType.RemoveEnterpriseServer:
|
||||
Install = EServerSetup.Create(Ctx.CustomActionData, SetupActions.Uninstall);
|
||||
break;
|
||||
case WiXInstallType.InstallPortal:
|
||||
Install = PortalSetup.Create(Ctx.CustomActionData, SetupActions.Install);
|
||||
break;
|
||||
case WiXInstallType.RemovePortal:
|
||||
Install = PortalSetup.Create(Ctx.CustomActionData, SetupActions.Uninstall);
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
Install.Run();
|
||||
}
|
||||
catch (WiXSetupException we)
|
||||
{
|
||||
Ctx.Log("Expected exception: " + we.ToString());
|
||||
return ActionResult.Failure;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Ctx.Log(ex.ToString());
|
||||
return ActionResult.Failure;
|
||||
}
|
||||
return ActionResult.Success;
|
||||
}
|
||||
[Conditional("DEBUG")]
|
||||
private static void PopUpDebugger()
|
||||
{
|
||||
Debugger.Launch();
|
||||
}
|
||||
}
|
||||
public static class SessionExtension
|
||||
{
|
||||
public static void AttachToSetupLog(this Session Ctx)
|
||||
{
|
||||
WiXSetup.InstallLogListener(new WiXLogListener(Ctx));
|
||||
WiXSetup.InstallLogListener(new InMemoryStringLogListener("WIX CA IN MEMORY"));
|
||||
}
|
||||
}
|
||||
|
||||
internal enum WiXInstallType: byte
|
||||
{
|
||||
InstallServer,
|
||||
InstallEnterpriseServer,
|
||||
InstallPortal,
|
||||
RemoveServer,
|
||||
RemoveEnterpriseServer,
|
||||
RemovePortal,
|
||||
RemoveUpdate,
|
||||
RestoreUpdate
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,10 +32,25 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<AddPdb Include="$(OutputPath)*.pdb" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<IntermediateOutputPath Condition=" '$(PlatformName)' == 'AnyCPU' ">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition=" '$(PlatformName)' != 'AnyCPU' ">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<CustomActionContents>$(IntermediateOutputPath)$(AssemblyName).pdb;@(AddPdb)</CustomActionContents>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Web.Administration, Version=7.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Lib\Microsoft.Web.Administration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
|
@ -44,6 +59,12 @@
|
|||
<Reference Include="Microsoft.Deployment.WindowsInstaller" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Common\InMemoryStringLogListener.cs" />
|
||||
<Compile Include="Common\Tool.cs" />
|
||||
<Compile Include="Common\Prop.cs" />
|
||||
<Compile Include="Common\Util\IListCtrl.cs" />
|
||||
<Compile Include="Common\WiXLogListener.cs" />
|
||||
<Compile Include="Common\YesNo.cs" />
|
||||
<Compile Include="CustomAction.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Content Include="CustomAction.config" />
|
||||
|
@ -53,6 +74,10 @@
|
|||
<Project>{3951C0EC-BD98-450E-B228-CDBE5BD4AD49}</Project>
|
||||
<Name>WebsitePanel.Setup</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\WebsitePanel.Installer.Core\WebsitePanel.Installer.Core.csproj">
|
||||
<Project>{0E4A3F5B-0BB1-4F63-863D-7B0182B378CF}</Project>
|
||||
<Name>WebsitePanel.Installer.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(WixCATargetsPath)" />
|
||||
|
|
45307
WebsitePanel/Database/wix_install_db.sql
Normal file
45307
WebsitePanel/Database/wix_install_db.sql
Normal file
File diff suppressed because it is too large
Load diff
10676
WebsitePanel/Database/wix_update_db.sql
Normal file
10676
WebsitePanel/Database/wix_update_db.sql
Normal file
File diff suppressed because it is too large
Load diff
|
@ -3,7 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>3.7</ProductVersion>
|
||||
<ProductVersion>3.9</ProductVersion>
|
||||
<ProjectGuid>3f3f1c39-6719-4862-bb45-4c227f13b821</ProjectGuid>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputName>WebsitePanel.LocalizationToolkit</OutputName>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.34014
|
||||
// Runtime Version:4.0.30319.34209
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.34014
|
||||
' Runtime Version:4.0.30319.34209
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
<LocalizationToolkitBuild>$(BuildFolder)\LocalizationToolkit</LocalizationToolkitBuild>
|
||||
<InstallerBuild>$(BuildFolder)\Installer</InstallerBuild>
|
||||
<FixDefaultPublicFolderMailboxBuild>$(BuildFolder)\FixDefaultPublicFolderMailbox</FixDefaultPublicFolderMailboxBuild>
|
||||
<WiXInstallerBuild>$(BuildFolder)\WiXInstaller</WiXInstallerBuild>
|
||||
|
||||
<ftphost></ftphost>
|
||||
<ftpUsername></ftpUsername>
|
||||
|
@ -361,7 +362,16 @@
|
|||
<Copy SourceFiles="@(FixDefaultPublicFolderMailboxBuildFiles)" DestinationFolder="$(FixDefaultPublicFolderMailboxBuild)\%(RecursiveDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Build" DependsOnTargets="CreateFixDefaultPublicFolderMailboxBuild">
|
||||
<Target Name="WiXCreateRedistFileListBuild" DependsOnTargets="CreateFixDefaultPublicFolderMailboxBuild" >
|
||||
<RemoveDir Directories="$(WiXInstallerBuild)\ComponentsFiles" />
|
||||
<MakeDir Directories="$(WiXInstallerBuild)\ComponentsFiles" />
|
||||
<Exec Command='"$(WIX)bin\heat.exe" dir $(EnterpriseServerBuild) -o $(WiXInstallerBuild)\ComponentsFiles\EnterpriseServerFiles.wxs -gg -sreg -srd -var wix.BUILDESPATH -cg EnterpriseServerFiles -dr INSTALLENTERPRISESERVERFOLDER' />
|
||||
<Exec Command='"$(WIX)bin\heat.exe" dir $(ServerBuild) -o $(WiXInstallerBuild)\ComponentsFiles\ServerFiles.wxs -gg -sreg -srd -var wix.BUILDSPATH -cg ServerFiles -dr INSTALLSERVERFOLDER' />
|
||||
<Exec Command='"$(WIX)bin\heat.exe" dir $(PortalBuild) -o $(WiXInstallerBuild)\ComponentsFiles\PortalFiles.wxs -gg -sreg -srd -var wix.BUILDPPATH -cg PortalFiles -dr INSTALLPORTALFOLDER' />
|
||||
<Exec Command='"$(WIX)bin\heat.exe" dir $(WebDavPortalBuild) -o $(WiXInstallerBuild)\ComponentsFiles\WebDavPortalFiles.wxs -gg -sreg -srd -var wix.BUILDWDPPATH -cg WebDavPortalFiles -dr INSTALLWEBDAVPORTALFOLDER' />
|
||||
</Target>
|
||||
|
||||
<Target Name="Build" DependsOnTargets="WiXCreateRedistFileListBuild">
|
||||
<!-- Do nothing -->
|
||||
</Target>
|
||||
|
||||
|
@ -384,7 +394,6 @@
|
|||
<AWStatsViewerInstall>$(ToolsFolder)\AWStats.Viewer</AWStatsViewerInstall>
|
||||
<WSPTransportAgentInstall>$(ToolsFolder)\WSPTransportAgent</WSPTransportAgentInstall>
|
||||
<FixDefaultPublicFolderMailboxInstall>$(ToolsFolder)\FixDefaultPublicFolderMailbox</FixDefaultPublicFolderMailboxInstall>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PrepareInstalls" DependsOnTargets="Build">
|
||||
|
@ -640,8 +649,15 @@
|
|||
<Copy SourceFiles="$(SetupBuildFolder)\setup.pdb" DestinationFolder="$(StandaloneInstall)\Setup" Condition="'$(BuildConfiguration)' == 'Debug'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateStandaloneFullMsi" DependsOnTargets="CreateSetupDLL">
|
||||
<MSBuild Projects='$(RootFolder)\WebsitePanel.Installer\Sources\Setup.WIXInstaller\Setup.WIXInstaller.wixproj' Properties='Configuration=$(BuildConfiguration)' Targets='Build'>
|
||||
<Output TaskParameter="TargetOutputs" ItemName="StandaloneFullMsi" />
|
||||
</MSBuild>
|
||||
<Copy SourceFiles="@(StandaloneFullMsi)" DestinationFolder="$(DeployFolder)\%(RecursiveDir)" />
|
||||
</Target>
|
||||
|
||||
<!-- Deploy -->
|
||||
<Target Name="Deploy" DependsOnTargets="CreateSetupDLL" >
|
||||
<Target Name="Deploy" DependsOnTargets="CreateStandaloneFullMsi" >
|
||||
<ItemGroup>
|
||||
<PortalInstallFiles Include="$(PortalInstall)\**\*.*" />
|
||||
<WebDavPortalInstallFiles Include="$(WebDavPortalInstall)\**\*.*" />
|
||||
|
@ -818,6 +834,7 @@
|
|||
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-HyperVUtils-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-HyperVUtils-$(Version).zip" />
|
||||
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-VMConfig-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-VMConfig-$(Version).zip" />
|
||||
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/Websitepanel-SchedulerService-$(Version).msi" LocalFile="$(DeployFolder)\Websitepanel-SchedulerService.msi" />
|
||||
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-Full-$(Version).msi" LocalFile="$(DeployFolder)\Websitepanel.msi" />
|
||||
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/Manual-Update-$(Version).zip" LocalFile="$(DeployFolder)\Manual-Update.zip" />
|
||||
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-FixDefaultPublicFolderMailbox-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-FixDefaultPublicFolderMailbox-$(Version).zip" />
|
||||
</Target>
|
||||
|
|
BIN
tools/WIX/LuxTasks.dll
Normal file
BIN
tools/WIX/LuxTasks.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tools/WIX/ThmViewer.exe
Normal file
BIN
tools/WIX/ThmViewer.exe
Normal file
Binary file not shown.
Binary file not shown.
BIN
tools/WIX/WixComPlusExtension.dll
Normal file
BIN
tools/WIX/WixComPlusExtension.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tools/WIX/WixLuxExtension.dll
Normal file
BIN
tools/WIX/WixLuxExtension.dll
Normal file
Binary file not shown.
BIN
tools/WIX/WixMsmqExtension.dll
Normal file
BIN
tools/WIX/WixMsmqExtension.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -12,4 +12,7 @@
|
|||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
|
Binary file not shown.
|
@ -15,4 +15,7 @@
|
|||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
|
Binary file not shown.
Binary file not shown.
BIN
tools/WIX/doc/DTF.chm
Normal file
BIN
tools/WIX/doc/DTF.chm
Normal file
Binary file not shown.
BIN
tools/WIX/doc/DTFAPI.chm
Normal file
BIN
tools/WIX/doc/DTFAPI.chm
Normal file
Binary file not shown.
|
@ -41,7 +41,7 @@
|
|||
By default this uses the Product/@Id attribute value, which may be automatically generated.
|
||||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:howtoRef href="author_product_dependencies.htm">How To: Author product dependencies</xse:howtoRef>
|
||||
<xse:howtoRef href="author_product_dependencies.html">How To: Author product dependencies</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -103,7 +103,7 @@
|
|||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso ref="RequiresRef" />
|
||||
<xse:howtoRef href="author_product_dependencies.htm">How To: Author product dependencies</xse:howtoRef>
|
||||
<xse:howtoRef href="author_product_dependencies.html">How To: Author product dependencies</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -166,7 +166,7 @@
|
|||
</html:p>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso ref="Requires" />
|
||||
<xse:howtoRef href="author_product_dependencies.htm">How To: Author product dependencies</xse:howtoRef>
|
||||
<xse:howtoRef href="author_product_dependencies.html">How To: Author product dependencies</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
|
|
@ -1,242 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<copyright file="IsolatedApp.xsd" company="Outercurve Foundation">
|
||||
Copyright (c) 2004, Outercurve Foundation.
|
||||
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||
The license and further copyright text can be found in the file
|
||||
LICENSE.TXT at the root directory of the distribution.
|
||||
</copyright>
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://wix.sourceforge.net/schemas/clickthrough/isolatedapp/2006"
|
||||
xmlns="http://wix.sourceforge.net/schemas/clickthrough/isolatedapp/2006">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Schema for describing Isolated Applications.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:element name="IsolatedApp">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Package"/>
|
||||
<xs:element ref="Application"/>
|
||||
<xs:element ref="PreviousFeed" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Package">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:element ref="Description"/>
|
||||
<xs:element ref="Feed"/>
|
||||
<xs:element ref="Icon"/>
|
||||
<xs:element ref="Id"/>
|
||||
<xs:element ref="Manufacturer"/>
|
||||
<xs:element ref="UpdateRate"/>
|
||||
<xs:element ref="Version"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Application">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:element ref="Details"/>
|
||||
<xs:element ref="EntryPoint"/>
|
||||
<xs:element ref="Icon"/>
|
||||
<xs:element ref="Id"/>
|
||||
<xs:element ref="Name"/>
|
||||
<xs:element ref="Source"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="PreviousFeed">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Description">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Details">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="EntryPoint">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation><xs:documentation></xs:documentation></xs:annotation>
|
||||
<xs:attribute name="PackageVersion" type="xs:boolean" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation></xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Feed">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Id">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="uuid"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Icon">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation><xs:documentation></xs:documentation></xs:annotation>
|
||||
<xs:attribute name="Index" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation></xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Manufacturer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Name">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Source">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="UpdateRate">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:integer"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Version">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="VersionType"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- - - - - - - - - - - Simple Type Definitions - - - - - - - - - - - - -->
|
||||
|
||||
<xs:simpleType name="uuid">
|
||||
<xs:annotation><xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}".</xs:documentation></xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="VersionType">
|
||||
<xs:annotation><xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation></xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
|
@ -1,262 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<copyright file="OfficeAddin.xsd" company="Outercurve Foundation">
|
||||
Copyright (c) 2004, Outercurve Foundation.
|
||||
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||
The license and further copyright text can be found in the file
|
||||
LICENSE.TXT at the root directory of the distribution.
|
||||
</copyright>
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
targetNamespace="http://wix.sourceforge.net/schemas/clickthrough/officeaddin/2006"
|
||||
xmlns="http://wix.sourceforge.net/schemas/clickthrough/officeaddin/2006">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Schema for describing Office Addins.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:element name="OfficeAddin">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Package"/>
|
||||
<xs:element ref="Application"/>
|
||||
<xs:element ref="PreviousFeed" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Package">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:element ref="Description"/>
|
||||
<xs:element ref="Feed"/>
|
||||
<xs:element ref="Icon"/>
|
||||
<xs:element ref="Id"/>
|
||||
<xs:element ref="Manufacturer"/>
|
||||
<xs:element ref="UpdateRate"/>
|
||||
<xs:element ref="Version"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Application">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:element ref="Details"/>
|
||||
<xs:element ref="EntryPoint"/>
|
||||
<xs:element ref="ExtendsApplication"/>
|
||||
<xs:element ref="Icon"/>
|
||||
<xs:element ref="Id"/>
|
||||
<xs:element ref="Name"/>
|
||||
<xs:element ref="Source"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="PreviousFeed">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Description">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Details">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="EntryPoint">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="ExtendsApplication">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="SupportedOfficeApplications"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Feed">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Id">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="uuid"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Icon">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:annotation><xs:documentation></xs:documentation></xs:annotation>
|
||||
<xs:attribute name="Index" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation></xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Manufacturer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Name">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Source">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="UpdateRate">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:integer"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Version">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="VersionType"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- - - - - - - - - - - Simple Type Definitions - - - - - - - - - - - - -->
|
||||
|
||||
<xs:simpleType name="SupportedOfficeApplications">
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="Excel2003" />
|
||||
<xs:enumeration value="Outlook2003" />
|
||||
<xs:enumeration value="PowerPoint2003" />
|
||||
<xs:enumeration value="Word2003" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="uuid">
|
||||
<xs:annotation><xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}".</xs:documentation></xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="VersionType">
|
||||
<xs:annotation><xs:documentation>Values of this type will look like: "x.x.x.x" where x is an integer from 0 to 65534.</xs:documentation></xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(\d{1,5}\.){3}\d{1,5}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
BIN
tools/WIX/doc/WiX.chm
Normal file
BIN
tools/WIX/doc/WiX.chm
Normal file
Binary file not shown.
|
@ -60,6 +60,40 @@
|
|||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="LaunchTarget" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set, the success page will show a Launch button the user can use to launch the application being installed.
|
||||
The string value can be formatted using Burn variables enclosed in brackets,
|
||||
to refer to installation directories and so forth.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchTargetElevatedId" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Id of the target ApprovedExeForElevation element.
|
||||
If set with LaunchTarget, WixStdBA will launch the application through the Engine's LaunchApprovedExe method instead of through ShellExecute.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchArguments" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set, WixStdBA will supply these arguments when launching the application specified by the LaunchTarget attribute.
|
||||
The string value can be formatted using Burn variables enclosed in brackets,
|
||||
to refer to installation directories and so forth.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LaunchHidden" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
If set to "yes", WixStdBA will launch the application specified by the LaunchTarget attribute with the SW_HIDE flag.
|
||||
This attribute is ignored when the LaunchTargetElevatedId attribute is specified.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LicenseFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the RTF license file. Cannot be used simultaneously with LicenseUrl.</xs:documentation>
|
||||
|
@ -75,6 +109,11 @@
|
|||
<xs:documentation>Source file of the logo graphic.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LogoSideFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the side logo graphic.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ThemeFile" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Source file of the theme XML.</xs:documentation>
|
||||
|
@ -96,10 +135,34 @@
|
|||
The default behavior (or when explicitly set to "no") is to treat downgrade attempts as failures. </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SuppressRepair" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", the Repair button will not be shown in the maintenance-mode UI.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ShowVersion" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If set to "yes", the application version will be displayed on the UI.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:attribute name="Overridable">
|
||||
<xs:attribute name="PrereqSupportPackage" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When set to "yes", the Prereq BA will plan the package to be installed if its InstallCondition is "true" or empty.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="ExePackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsiPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MspPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsuPackage" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="Overridable" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When set to "yes", lets the user override the variable's default value by specifying another value on the command line,
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
</xs:appinfo>
|
||||
<xs:documentation>
|
||||
Installs a driver. To use this element, you need to reference the WixDifxAppExtension extension and add the
|
||||
.wixlib appropriate for the target platform (difxapp_x86.wixlib, difxapp_x64.wixlib, or difxapp_ia64.wixlib)
|
||||
.wixlib appropriate for the target platform (difxapp_x86.wixlib or difxapp_x64.wixlib)
|
||||
to your project.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<xs:documentation>
|
||||
Registers an exception for a program or a specific port and protocol in the Windows Firewall
|
||||
on Windows XP SP2, Windows Server 2003 SP1, and later. For more information about the Windows
|
||||
Firewall, see <html:a href="http://msdn2.microsoft.com/en-us/library/aa364679.aspx">
|
||||
Firewall, see <html:a href="http://msdn.microsoft.com/en-us/library/aa364679.aspx">
|
||||
About Windows Firewall API</html:a>.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
|
@ -184,10 +184,10 @@
|
|||
A remote address to which the port or program can listen. Address formats vary
|
||||
based on the version of Windows and Windows Firewall the program is being installed
|
||||
on. For Windows XP SP2 and Windows Server 2003 SP1, see
|
||||
<html:a href="http://msdn2.microsoft.com/en-us/library/aa365270.aspx">
|
||||
<html:a href="http://msdn.microsoft.com/en-us/library/aa365270.aspx">
|
||||
RemoteAddresses Property</html:a>.
|
||||
For Windows Vista and Windows Server 2008, see
|
||||
<html:a href="http://msdn2.microsoft.com/en-us/library/aa365366.aspx">
|
||||
<html:a href="http://msdn.microsoft.com/en-us/library/aa365366.aspx">
|
||||
RemoteAddresses Property</html:a>.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
|
|
@ -198,7 +198,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Value" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Value for the custom HTTP Header. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> for details.</xs:documentation>
|
||||
<xs:documentation>Value for the custom HTTP Header. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> for details.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
@ -394,7 +394,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Identity">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identity you want the AppPool to run under. Use the 'other' value in conjunction with the User attribute to specify non-standard user.</xs:documentation>
|
||||
<xs:documentation>Identity you want the AppPool to run under (applicationPoolIdentity is only available on IIS7). Use the 'other' value in conjunction with the User attribute to specify non-standard user.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
|
@ -402,6 +402,7 @@
|
|||
<xs:enumeration value="localService"/>
|
||||
<xs:enumeration value="localSystem"/>
|
||||
<xs:enumeration value="other"/>
|
||||
<xs:enumeration value="applicationPoolIdentity"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
@ -409,7 +410,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the request-processing mode that is used to process requests for managed content. Only available on IIS7, ignored on IIS6.
|
||||
See <a href="http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults" target="_blank">http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults</a> for valid values.
|
||||
See <a href="http://www.iis.net/configreference/system.applicationhost/applicationpools/applicationpooldefaults" target="_blank">http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults</a> for valid values.
|
||||
This attribute may be set via a formatted Property (e.g. [MyProperty]).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -418,7 +419,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies the .NET Framework version to be used by the application pool. Only available on IIS7, ignored on IIS6.
|
||||
See <a href="http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults" target="_blank">http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults</a> for valid values.
|
||||
See <a href="http://www.iis.net/configreference/system.applicationhost/applicationpools/applicationpooldefaults" target="_blank">http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/applicationPoolDefaults</a> for valid values.
|
||||
This attribute may be set via a formatted Property (e.g. [MyProperty]).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -504,7 +505,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Contains the certificates of those that the user normally sends enveloped messages to or receives signed messages from.
|
||||
See <a href="http://msdn2.microsoft.com/library/aa388160.aspx" target="_blank">MSDN documentation</a> for more information.
|
||||
See <a href="http://msdn.microsoft.com/library/aa388160.aspx" target="_blank">MSDN documentation</a> for more information.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
|
@ -512,7 +513,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Contains the certificates of those directly trusted people and resources.
|
||||
See <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspxx" target="_blank">MSDN documentation</a> for more information.
|
||||
See <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspx" target="_blank">MSDN documentation</a> for more information.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
|
@ -520,7 +521,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Contains the certificates of those publishers who are trusted.
|
||||
See <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspxx" target="_blank">MSDN documentation</a> for more information.
|
||||
See <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.storename.aspx" target="_blank">MSDN documentation</a> for more information.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
|
@ -841,8 +842,9 @@
|
|||
<xs:documentation>Defines a subdirectory within an IIS web site. When this element is a child of WebSite, the web directory is defined within that web site. Otherwise the web directory must reference a WebSite element via the WebSite attribute.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
<xs:element ref="WebDirProperties" minOccurs="0"/>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="WebApplication" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="WebDirProperties" minOccurs="0" maxOccurs="1" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" use="required" type="xs:string"/>
|
||||
<xs:attribute name="WebSite" type="xs:string">
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<xs:documentation>
|
||||
Improves the performance of managed applications by creating native images.
|
||||
Requires the .NET Framework 2.0 or newer to be installed on the target machine since
|
||||
it runs <html:a href="http://msdn2.microsoft.com/en-us/library/6t9t5wcf.aspx">NGen</html:a>.
|
||||
it runs <html:a href="http://msdn.microsoft.com/en-us/library/6t9t5wcf.aspx">NGen</html:a>.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
</html:dd>
|
||||
</html:dl>
|
||||
</xse:remarks>
|
||||
<xse:seeAlso ref="User"/>
|
||||
<xse:seeAlso namespace="http://schemas.microsoft.com/wix/UtilExtension" ref="User"/>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>SQL Database</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
|
|
@ -32,14 +32,14 @@
|
|||
for the application to be scheduled for closing.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Identifier for the close application (primary key).</xs:documentation>
|
||||
<xs:documentation>Identifier for the close application (primary key). If the Id is not specified, one will be generated.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Target" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Name of the exectuable to be closed. This should only be file name.</xs:documentation>
|
||||
<xs:documentation>Name of the exectuable to be closed. This should only be the file name.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Description" type="xs:string">
|
||||
|
@ -57,14 +57,34 @@
|
|||
<xs:documentation>Optionally sends a close message to the application. Default is no.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="EndSessionMessage" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application. Default is "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ElevatedCloseMessage" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Optionally sends a close message to the application from deffered action without impersonation. Default is no.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ElevatedEndSessionMessage" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sends WM_QUERYENDSESSION then WM_ENDSESSION messages to the application from a deffered action without impersonation. Default is "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="RebootPrompt" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Optionally prompts for reboot if application is still running. Default is yes.</xs:documentation>
|
||||
<xs:documentation>Optionally prompts for reboot if application is still running. The default is "yes". The TerminateProcess attribute must be "no" or not specified if this attribute is "yes".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PromptToContinue" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
When this attribute is set to "yes", the user will be prompted when the application is still running. The Description attribute must contain the message to
|
||||
display in the prompt. The prompt occurs before executing any of the other options and gives the options to "Abort", "Retry", or "Ignore". Abort will cancel
|
||||
the install. Retry will attempt the check again and if the application is still running, prompt again. "Ignore" will continue and execute any other options
|
||||
set on the CloseApplication element. The default is "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Property" type="xs:string">
|
||||
|
@ -72,6 +92,22 @@
|
|||
<xs:documentation>Property to be set if application is still running. Useful for launch conditions or to conditionalize custom UI to ask user to shut down apps.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="TerminateProcess" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Attempts to terminates process and return the specified exit code if application is still running after sending any requested close and/or end session messages.
|
||||
If this attribute is specified, the RebootPrompt attribute must be "no". The default is "no".
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Timeout" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Optional time in seconds to wait for the application to exit after the close and/or end session messages. If the application is still running after the timeout then
|
||||
the RebootPrompt or TerminateProcess attributes will be considered. The default value is "5" seconds.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
@ -463,7 +499,7 @@
|
|||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Component" />
|
||||
<xse:howtoRef href="create_internet_shortcut.htm">How To: Create a shortcut to a webpage</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/create_internet_shortcut.html">How To: Create a shortcut to a webpage</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>Creates a shortcut to a URL.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -620,7 +656,12 @@
|
|||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="File" />
|
||||
</xs:appinfo>
|
||||
<xs:documentation>Used to install Perfmon Counter Manifests.</xs:documentation>
|
||||
<xs:documentation>
|
||||
Used to install Perfmon Counter Manifests.
|
||||
Note that this functionality cannot be used with major upgrades that are scheduled after the InstallExecute,
|
||||
InstallExecuteAgain, or InstallFinalize actions. For more information on major upgrade scheduling, see
|
||||
<html:a href="http://msdn.microsoft.com/en-us/library/aa371197.aspx">RemoveExistingProducts Action</html:a>.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="ResourceFileDirectory" type="xs:string" use="optional">
|
||||
|
@ -660,9 +701,7 @@
|
|||
<xs:documentation>
|
||||
Sets ACLs on File, Registry, CreateFolder, or ServiceInstall. When under a Registry element, this cannot be used
|
||||
if the Action attribute's value is remove or removeKeyOnInstall. This element has no Id attribute.
|
||||
The table and key are taken from the parent element. To use PermissionEx with an IA-64 MSI, you must
|
||||
compile all of your source files with the "-arch ia64" switch, to ensure the IA-64 custom action is used, and not
|
||||
the x64 custom action.
|
||||
The table and key are taken from the parent element.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="CreateFolder" />
|
||||
|
@ -785,9 +824,19 @@
|
|||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="SearchCommonAttributes" />
|
||||
<xs:attribute name="Guid" type="xs:string" use="required">
|
||||
<xs:attribute name="Guid" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>ProductCode to search for.</xs:documentation>
|
||||
<xs:documentation>The Guid attribute has been deprecated; use the ProductCode or UpgradeCode attribute instead. If this attribute is used, it is assumed to be a ProductCode.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ProductCode" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The ProductCode to use for the search. This attribute must be omitted if UpgradeCode is specified.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UpgradeCode" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The UpgradeCode to use for the search. This attribute must be omitted if ProductCode is specified. Note that if multiple products are found, the highest versioned product will be used for the result.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Result">
|
||||
|
@ -810,7 +859,7 @@
|
|||
</xs:enumeration>
|
||||
<xs:enumeration value="state">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Saves the state of the product: advertised (1), absent (2), or locally installed (3).</xs:documentation>
|
||||
<xs:documentation>Saves the state of the product: advertised (1), absent (2), or locally installed (5).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="assignment">
|
||||
|
@ -848,7 +897,7 @@
|
|||
create properties for the Directory hierarchy in your package until later, in the CostFinalize action.</html:p>
|
||||
<html:p>An easy workaround for a typical use case of removing a folder during uninstall is to write the directory
|
||||
path to the registry and to load it during uninstall. See
|
||||
<html:a href="http://robmensching.com/blog/posts/2010/5/2/The-WiX-toolsets-Remember-Property-pattern">The WiX toolset's "Remember Property" pattern</html:a>
|
||||
<html:a href="http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern">The WiX toolset's "Remember Property" pattern</html:a>
|
||||
for an example.</html:p>
|
||||
<html:p>If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action.</html:p>
|
||||
</xse:remarks>
|
||||
|
@ -1162,12 +1211,12 @@
|
|||
<xs:attribute name="Id" type="xs:string" use="required" />
|
||||
<xs:attribute name="Name" use="required" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> string that contains the name of the user account.</xs:documentation>
|
||||
<xs:documentation>A <a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> string that contains the name of the user account.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Domain" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A <a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> string that contains the local machine or Active Directory domain for the user.</xs:documentation>
|
||||
<xs:documentation>A <a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</a> string that contains the local machine or Active Directory domain for the user.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Password" type="xs:string">
|
||||
|
@ -1200,6 +1249,11 @@
|
|||
<xs:documentation>Indicates whether or not the user can logon as a serivce. User creation can be skipped if all that is desired is to set this access right on the user.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LogonAsBatchJob" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates whether or not the user can logon as a batch job. User creation can be skipped if all that is desired is to set this access right on the user.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UpdateIfExists" type="YesNoType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates if the user account properties should be updated if the user already exists.</xs:documentation>
|
||||
|
@ -1220,6 +1274,11 @@
|
|||
<xs:documentation>Indicates whether or not to create the user. User creation can be skipped if all that is desired is to join a user to groups.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Vital" type="YesNoType" default="yes">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indicates whether failure to create the user or add the user to a group fails the installation. The default value is "yes".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="XmlFile">
|
||||
|
|
Binary file not shown.
|
@ -12,6 +12,9 @@
|
|||
<xs:documentation>
|
||||
Schema for describing Windows Installer database files (.msi/.msm/.pcp).
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:main />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:import namespace="http://www.w3.org/1999/xhtml" />
|
||||
<xs:element name="Wix">
|
||||
|
@ -70,6 +73,7 @@
|
|||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="ApprovedExeForElevation" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="Log" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="Catalog" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="BootstrapperApplication" minOccurs="0" maxOccurs="1" />
|
||||
|
@ -251,6 +255,46 @@
|
|||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ApprovedExeForElevation">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Provides information about an .exe so that the BA can request the engine to run it elevated from any secure location.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Bundle" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Id" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The identifier of the ApprovedExeForElevation element.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Key" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The key path.
|
||||
For security purposes, the root key will be HKLM and Variables are not supported.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Value" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The value name.
|
||||
For security purposes, Variables are not supported.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Win64" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Instructs the search to look in the 64-bit registry when the value is 'yes'.
|
||||
When the value is 'no', the search looks in the 32-bit registry.
|
||||
The default value is 'no'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Log">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Overrides the default log settings for a bundle.</xs:documentation>
|
||||
|
@ -542,7 +586,6 @@
|
|||
<xs:element ref="SlipstreamMsp" />
|
||||
<xs:element ref="Payload" />
|
||||
<xs:element ref="PayloadGroupRef" />
|
||||
<xs:element ref="RemotePayload" />
|
||||
<xs:any namespace="##other" processContents="lax">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
|
@ -617,7 +660,6 @@
|
|||
<xs:element ref="MsiProperty" />
|
||||
<xs:element ref="Payload" />
|
||||
<xs:element ref="PayloadGroupRef" />
|
||||
<xs:element ref="RemotePayload" />
|
||||
<xs:any namespace="##other" processContents="lax">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
|
@ -874,9 +916,9 @@
|
|||
<xs:documentation>A condition to evaluate before installing the package. The package will only be installed if the condition evaluates to true. If the condition evaluates to false and the bundle is being installed, repaired, or modified, the package will be uninstalled.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Cache" type="YesNoTypeUnion">
|
||||
<xs:attribute name="Cache" type="YesNoAlwaysTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Whether to cache the package.</xs:documentation>
|
||||
<xs:documentation>Whether to cache the package. The default is "yes".</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CacheId" type="xs:string">
|
||||
|
@ -899,7 +941,7 @@
|
|||
<xs:documentation>
|
||||
Specifies the description to place in the bootstrapper application data manifest for the package. By default, ExePackages
|
||||
use the FileName field from the version information, MsiPackages use the ARPCOMMENTS property, and MspPackages use
|
||||
the Description patch metadata property. Other package types must use this attribute to define a desciption in the
|
||||
the Description patch metadata property. Other package types must use this attribute to define a description in the
|
||||
bootstrapper application data manifest.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -932,7 +974,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Specifies whether the package must succeed for the chain to continue. The default "yes"
|
||||
inidicates that if the package fails then the chain will fail and rollback or stop. If
|
||||
indicates that if the package fails then the chain will fail and rollback or stop. If
|
||||
"no" is specified then the chain will continue even if the package reports failure.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -945,10 +987,12 @@
|
|||
<xs:attribute name="SuppressSignatureVerification" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
By default, a Bundle will use a package's Authenticode signature to verify the contents. If the package does not
|
||||
have an Authenticode signature then the Bundle will use a hash of the package instead. Set this attribute to "yes"
|
||||
to suppress the default behavior and force the Bundle to always use the hash of the package even when the package
|
||||
is signed.
|
||||
By default, a Bundle will use the hash of a package to verify its contents. If this attribute is explicitly set to "no"
|
||||
and the package is signed with an Authenticode signature the Bundle will verify the contents of the package using the
|
||||
signature instead. Therefore, the default for this attribute could be considered to be "yes". It is unusual for "yes" to
|
||||
be the default of an attribute. In this case, the default was changed in WiX v3.9 after experiencing real world issues
|
||||
with Windows verifying Authenticode signatures. Since the Authenticode signatures are no more secure than hashing the
|
||||
packages directly, the default was changed.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
@ -1201,9 +1245,6 @@
|
|||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:element ref="RemotePayload" />
|
||||
</xs:choice>
|
||||
<xs:attribute name="Id" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The identifier of Payload element.</xs:documentation>
|
||||
|
@ -1289,16 +1330,11 @@
|
|||
</xs:element>
|
||||
<xs:element name="RemotePayload">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a information about a remote file payload that is not available at the time of building the bundle.
|
||||
<xs:documentation>Describes information about a remote file payload that is not available at the time of building the bundle.
|
||||
The parent must specify DownloadUrl and must not specify SourceFile when using this element.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="BootstrapperApplication" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="ExePackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsiPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MspPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="MsuPackage" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="UX" />
|
||||
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Payload" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -1314,7 +1350,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Description" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Description of the file from version resouces.</xs:documentation>
|
||||
<xs:documentation>Description of the file from version resources.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Hash" type="HexType" use="required">
|
||||
|
@ -1397,7 +1433,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252. See <html:a href="~/overview/codepage.html">Code Pages</html:a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
@ -1510,7 +1546,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="~/overview/codepage.html">Code Pages</html:a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
@ -1850,7 +1886,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="~/overview/codepage.html">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as <html:i>ClientPatchId</html:i>.PatchCode and <html:i>ClientPatchId</html:i>.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix.</html:p>
|
||||
<html:p>For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value <html:code><html:nobr>[SystemFolder]msiexec.exe</html:nobr> /package [ProductCode] /uninstall [QFE1.PatchCode]</html:code>. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the <html:i>prefix</html:i>.PatchCode property as shown above.</html:p>
|
||||
<html:p>The summary information is automatically populated from attribute values of the Patch element including the code page. If you want to override some of these summary information properties or use a different code page for the summary information itself, author the PatchInformation element.</html:p>
|
||||
|
@ -2153,6 +2189,7 @@
|
|||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="All" minOccurs="0" />
|
||||
<xs:element ref="BinaryRef" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="ComponentRef" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="CustomActionRef" minOccurs="0" maxOccurs="unbounded" />
|
||||
|
@ -2268,7 +2305,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="~/overview/codepage.html">Code Pages</html:a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
@ -2291,17 +2328,17 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="AllowMajorVersionMismatches" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Use this to set whether the major versions between the upgrade and target images match. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">AllowProductVersionMajorMismatches</html:a> for more information.</xs:documentation>
|
||||
<xs:documentation>Use this to set whether the major versions between the upgrade and target images match. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">AllowProductVersionMajorMismatches</html:a> for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="AllowProductCodeMismatches" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Use this to set whether the product code between the upgrade and target images match. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">AllowProductCodeMismatches</html:a> for more information.</xs:documentation>
|
||||
<xs:documentation>Use this to set whether the product code between the upgrade and target images match. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">AllowProductCodeMismatches</html:a> for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="CleanWorkingFolder" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Use this to set whether Patchwiz should clean the temp folder when finished. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">DontRemoveTempFolderWhenFinished</html:a> for more information. </xs:documentation>
|
||||
<xs:documentation>Use this to set whether Patchwiz should clean the temp folder when finished. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">DontRemoveTempFolderWhenFinished</html:a> for more information. </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Codepage" type="xs:string">
|
||||
|
@ -2311,22 +2348,22 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="OutputPath" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The full path, including file name, of the patch package file that is to be generated. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">PatchOutputPath</html:a> for more information.</xs:documentation>
|
||||
<xs:documentation>The full path, including file name, of the patch package file that is to be generated. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">PatchOutputPath</html:a> for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SourceList" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Used to locate the .msp file for the patch if the cached copy is unavailable. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">PatchSourceList</html:a> for more information.</xs:documentation>
|
||||
<xs:documentation>Used to locate the .msp file for the patch if the cached copy is unavailable. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">PatchSourceList</html:a> for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SymbolFlags" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">ApiPatchingSymbolFlags</html:a> for more information.</xs:documentation>
|
||||
<xs:documentation>An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">ApiPatchingSymbolFlags</html:a> for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="WholeFilesOnly" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Use this to set whether changing files should be included in their entirety. See <html:a href="http://msdn2.microsoft.com/library/aa370890.aspx" target="_blank">IncludeWholeFilesOnly</html:a> for more information.</xs:documentation>
|
||||
<xs:documentation>Use this to set whether changing files should be included in their entirety. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx" target="_blank">IncludeWholeFilesOnly</html:a> for more information.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
@ -2336,7 +2373,7 @@
|
|||
<xs:documentation>Properties about the patch to be placed in the Summary Information Stream. These are visible from COM through the IStream interface, and these properties can be seen on the package in Explorer.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="~/overview/codepage.html">Code Pages</html:a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
@ -2931,7 +2968,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="codepage.htm">Code Pages</html:a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See <html:a href="~/overview/codepage.html">Code Pages</html:a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
|
@ -3085,6 +3122,14 @@
|
|||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="arm">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set this value to declare that the package is an arm package.
|
||||
This value requires that the InstallerVersion property be set to 500 or greater.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="intel">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
|
@ -3539,7 +3584,7 @@
|
|||
<xse:seeAlso ref="RegistrySearch" />
|
||||
<xse:msiRef table="DrLocator" href="http://msdn.microsoft.com/library/aa368331.aspx" />
|
||||
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" />
|
||||
<xse:howtoRef href="check_the_version_number.htm">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/check_the_version_number.html">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
<xse:remarks>
|
||||
<html:a>When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'.</html:a>
|
||||
</xse:remarks>
|
||||
|
@ -3645,9 +3690,9 @@
|
|||
<xse:seeAlso ref="RegistrySearch" />
|
||||
<xse:msiRef table="DrLocator" href="http://msdn.microsoft.com/library/aa368331.aspx" />
|
||||
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" />
|
||||
<xse:howtoRef href="check_the_version_number.htm">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="directorysearchref.htm">How To: Reference another DirectorySearch element</xse:howtoRef>
|
||||
<xse:howtoRef href="parentdirectorysearch.htm">How To: Get the parent directory of a file search</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/check_the_version_number.html">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/directorysearchref.html">How To: Reference another DirectorySearch element</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/parentdirectorysearch.html">How To: Get the parent directory of a file search</xse:howtoRef>
|
||||
<xse:remarks>
|
||||
<html:p>Use the AssignToProperty attribute to search for a file but set the outer property to the directory containing the file. When this attribute is set to 'yes', you may only nest a FileSearch element with a unique Id or define no child element.</html:p>
|
||||
<html:a>When the parent DirectorySearch/@Depth attribute is greater than 0, the FileSearch/@Id attribute must be absent or the same as the parent DirectorySearch/@Id attribute value, unless the parent DirectorySearch/@AssignToProperty attribute value is 'yes'.</html:a>
|
||||
|
@ -3692,7 +3737,7 @@
|
|||
<xse:seeAlso ref="ComponentSearch" />
|
||||
<xse:seeAlso ref="IniFileSearch" />
|
||||
<xse:seeAlso ref="RegistrySearch" />
|
||||
<xse:howtoRef href="directorysearchref.htm">How To: Reference another DirectorySearch element</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/directorysearchref.html">How To: Reference another DirectorySearch element</xse:howtoRef>
|
||||
<xse:remarks>
|
||||
<html:p>A reference to another DirectorySearch element must reference the same Id, the same Parent Id, and the same Path. If any of these attribute values are different you must instead use a DirectorySearch element.</html:p>
|
||||
</xse:remarks>
|
||||
|
@ -3870,7 +3915,7 @@
|
|||
<xse:seeAlso ref="IniFileSearch" />
|
||||
<xse:msiRef table="RegLocator" href="http://msdn.microsoft.com/library/aa371171.aspx" />
|
||||
<xse:msiRef table="Signature" href="http://msdn.microsoft.com/library/aa371853.aspx" />
|
||||
<xse:howtoRef href="read_a_registry_entry.htm">How To: Read a registry entry during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/read_a_registry_entry.html">How To: Read a registry entry during installation</xse:howtoRef>
|
||||
<xse:remarks>
|
||||
<html:p>
|
||||
When the Type attribute value is 'directory' the registry value must specify the path to a directory excluding the file name.
|
||||
|
@ -3975,7 +4020,12 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Win64" type="YesNoTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. The default value depends on the value of the Package/@Platform attribute: if the @Platform attribute value is 'x86', the default @Win64 attribute value is 'no'; otherwise, the default value is 'yes'.</xs:documentation>
|
||||
<xs:documentation>Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry.
|
||||
The default value is based on the platform set by the -arch switch to candle.exe
|
||||
or the InstallerPlatform property in a .wixproj MSBuild project:
|
||||
For x86 and ARM, the default value is 'no'.
|
||||
For x64 and IA64, the default value is 'yes'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
@ -4052,7 +4102,7 @@
|
|||
<xs:appinfo>
|
||||
<xse:seeAlso ref="PropertyRef" />
|
||||
<xse:msiRef table="Property" href="http://msdn.microsoft.com/library/aa370908.aspx" />
|
||||
<xse:howtoRef href="check_the_version_number.htm">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/check_the_version_number.html">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>Property value for a Product or Module.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -4134,7 +4184,7 @@
|
|||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:seeAlso ref="Property" />
|
||||
<xse:howtoRef href="check_for_dotnet.htm">How To: Check for .NET Framework versions</xse:howtoRef>
|
||||
<xse:howtoRef href="redistributables_and_install_checks/check_for_dotnet.html">How To: Check for .NET Framework versions</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>Reference to a Property value.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -4161,7 +4211,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:msiRef table="Shortcut" href="http://msdn.microsoft.com/library/aa371847.aspx" />
|
||||
<xse:howtoRef href="create_start_menu_shortcut.htm">How To: Create a shortcut on the Start Menu</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/create_start_menu_shortcut.html">How To: Create a shortcut on the Start Menu</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -4625,7 +4675,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:msiRef table="File" href="http://msdn.microsoft.com/library/aa368596.aspx" />
|
||||
<xse:howtoRef href="add_a_file.htm">How To: Add a file to your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/add_a_file.html">How To: Add a file to your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -4892,7 +4942,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Source" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the path to the File in the build process. Overrides default source path set by parent directories and Name attribute. This attribute must be set if no source information can be gathered from parent directories. For more information, see <html:a href="specifying_source_files.htm">Specifying source files</html:a>.</xs:documentation>
|
||||
<xs:documentation>Specifies the path to the File in the build process. Overrides default source path set by parent directories and Name attribute. This attribute must be set if no source information can be gathered from parent directories. For more information, see <html:a href="~/howtos/general/specifying_source_files.html">Specifying source files</html:a>.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="src" type="xs:string">
|
||||
|
@ -4956,8 +5006,8 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" />
|
||||
<xse:howtoRef href="read_a_registry_entry.htm">How To: Read a registry entry during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="write_a_registry_entry.htm">How To: Write a registry entry during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/read_a_registry_entry.html">How To: Read a registry entry during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/write_a_registry_entry.html">How To: Write a registry entry during installation</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -5075,7 +5125,7 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:msiRef table="Registry" href="http://msdn.microsoft.com/library/aa371168.aspx" />
|
||||
<xse:howtoRef href="write_a_registry_entry.htm">How To: Write a registry entry during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/write_a_registry_entry.html">How To: Write a registry entry during installation</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType mixed="true">
|
||||
|
@ -6594,7 +6644,7 @@
|
|||
<xs:element name="ServiceInstall">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Adds and removes services for parent Component.
|
||||
Adds services for parent Component. Use the ServiceControl element to remove services.
|
||||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:msiRef table="ServiceInstall" href="http://msdn.microsoft.com/library/aa371637.aspx" />
|
||||
|
@ -6615,7 +6665,7 @@
|
|||
</xs:element>
|
||||
<xs:element ref="ServiceDependency">
|
||||
<xs:annotation>
|
||||
<xs:documentation>ordered list of dependencies when installing services</xs:documentation>
|
||||
<xs:documentation>Ordered list of dependencies when installing services.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="ServiceConfig" />
|
||||
|
@ -6649,7 +6699,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Type" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The Windows Installer does not currently support kernelDriver or systemDriver</xs:documentation>
|
||||
<xs:documentation>The Windows Installer does not currently support kernelDriver or systemDriver.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
|
@ -7196,8 +7246,8 @@
|
|||
<xse:msiRef table="ControlCondition" href="http://msdn.microsoft.com/library/aa368035.aspx" />
|
||||
<xse:msiRef table="Condition" href="http://msdn.microsoft.com/library/aa368014.aspx" />
|
||||
<xse:msiRef table="LaunchCondition" href="http://msdn.microsoft.com/library/aa369752.aspx" />
|
||||
<xse:howtoRef href="block_install_on_os.htm">How To: Block installation based on OS version</xse:howtoRef>
|
||||
<xse:howtoRef href="check_the_version_number.htm">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
<xse:howtoRef href="redistributables_and_install_checks/block_install_on_os.html">How To: Block installation based on OS version</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/check_the_version_number.html">How To: Check the version number of a file during installation</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -7338,7 +7388,7 @@
|
|||
<xse:msiRef table="Component" href="http://msdn.microsoft.com/library/aa368007.aspx" />
|
||||
<xse:msiRef table="Condition" href="http://msdn.microsoft.com/library/aa368014.aspx" />
|
||||
<xse:msiRef table="Directory" href="http://msdn.microsoft.com/library/aa368295.aspx" />
|
||||
<xse:howtoRef href="add_a_file.htm">How To: Add a file to your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/add_a_file.html">How To: Add a file to your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -7579,9 +7629,12 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates
|
||||
the installation of packages that include both 32-bit and 64-bit components. If this bit
|
||||
is not set, the component is registered as a 32-bit component. If this is a 64-bit
|
||||
component replacing a 32-bit component, set this bit and assign a new GUID in the Guid attribute.
|
||||
the installation of packages that include both 32-bit and 64-bit components. If this is a 64-bit
|
||||
component replacing a 32-bit component, set this attribute to 'yes' and assign a new GUID in the Guid attribute.
|
||||
The default value is based on the platform set by the -arch switch to candle.exe
|
||||
or the InstallerPlatform property in a .wixproj MSBuild project:
|
||||
For x86 and ARM, the default value is 'no'.
|
||||
For x64 and IA64, the default value is 'yes'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
@ -7634,7 +7687,7 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Used to set the default file system source for child Component elements. For more information, see
|
||||
<html:a href="specifying_source_files.htm">Specifying source files</html:a>.
|
||||
<html:a href="~/howtos/general/specifying_source_files.html">Specifying source files</html:a>.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
@ -7685,6 +7738,17 @@
|
|||
</xs:anyAttribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="All">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Used only for PatchFamilies to include all changes between the baseline and upgraded packages in a patch.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>Warning: this is intended for testing purposes only. Shipping a patch with all changes negates the benefits of using patch families for including only specific changes.</html:p>
|
||||
<html:p>Because changing the ProductCode is not supported in a patch, the ProductCode property is automatically removed from the transform.</html:p>
|
||||
</xse:remarks>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="BinaryRef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Used only for PatchFamilies to include only a binary table entry in a patch.</xs:documentation>
|
||||
|
@ -7730,7 +7794,7 @@
|
|||
<xs:documentation>Create a reference to a Feature element in another Fragment.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:seeAlso ref="Component" />
|
||||
<xse:howtoRef href="add_a_file.htm">How To: Add a file to your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/add_a_file.html">How To: Add a file to your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -7767,7 +7831,7 @@
|
|||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:seeAlso ref="MergeRef" />
|
||||
<xse:howtoRef href="install_vcredist.htm">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="redistributables_and_install_checks/install_vcredist.html">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>Merge directive to bring in a merge module that will be redirected to the parent directory.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -7820,7 +7884,7 @@
|
|||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:seeAlso ref="Merge" />
|
||||
<xse:howtoRef href="install_vcredist.htm">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="redistributables_and_install_checks/install_vcredist.html">How To: Install the Visual C++ Redistributable with your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
<xs:documentation>Merge reference to connect a Merge Module to parent Feature</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -7868,7 +7932,7 @@
|
|||
<xs:appinfo>
|
||||
<xse:seeAlso ref="DirectoryRef" />
|
||||
<xse:msiRef table="Directory" href="http://msdn.microsoft.com/library/aa368295.aspx" />
|
||||
<xse:howtoRef href="add_a_file.htm">How To: Add a file to your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/add_a_file.html">How To: Add a file to your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -7895,11 +7959,11 @@
|
|||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*")
|
||||
is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder, etc).
|
||||
is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder).
|
||||
It is recommended that this attribute be avoided and that developers install their Components under standard
|
||||
directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is
|
||||
important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until
|
||||
the directory name changes.
|
||||
(and must be changed when) the path to that directory, including itself and all parent directories, changes.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
@ -7915,7 +7979,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="FileSource" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Used to set the file system source for this directory's child elements. For more information, see <html:a href="specifying_source_files.htm">Specifying source files</html:a>.</xs:documentation>
|
||||
<xs:documentation>Used to set the file system source for this directory's child elements. For more information, see <html:a href="~/howtos/general/specifying_source_files.html">Specifying source files</html:a>.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LongName" type="LongFileNameType">
|
||||
|
@ -7939,7 +8003,7 @@
|
|||
|
||||
Do not specify this attribute (or the LongName attribute) if this directory represents
|
||||
the same directory as the parent (see the Windows Installer SDK's
|
||||
<html:a href="http://msdn2.microsoft.com/library/Aa368295.aspx" target="_blank">Directory table</html:a>
|
||||
<html:a href="http://msdn.microsoft.com/library/Aa368295.aspx" target="_blank">Directory table</html:a>
|
||||
topic for more information about the "." operator).
|
||||
|
||||
In prior versions of the WiX toolset, this attribute specified the short directory name.
|
||||
|
@ -8010,7 +8074,7 @@
|
|||
<xs:documentation>Create a reference to a Directory element in another Fragment.</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:seeAlso ref="Directory" />
|
||||
<xse:howtoRef href="add_a_file.htm">How To: Add a file to your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/add_a_file.html">How To: Add a file to your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -8044,7 +8108,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="FileSource" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Used to set the file system source for this DirectoryRef's child elements. For more information, see <html:a href="specifying_source_files.htm">Specifying source files</html:a>.</xs:documentation>
|
||||
<xs:documentation>Used to set the file system source for this DirectoryRef's child elements. For more information, see <html:a href="~/howtos/general/specifying_source_files.html">Specifying source files</html:a>.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="src" type="xs:string">
|
||||
|
@ -8095,7 +8159,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Property" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. Windows Installer documentation for the <html:a href="http://msdn2.microsoft.com/library/aa372379.aspx" target="_blank">Upgrade table</html:a> states that the property specified in this field must be a public property and must be added to the <html:a href="http://msdn2.microsoft.com/library/aa371571.aspx" target="_blank">SecureCustomProperties</html:a> property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list of product codes, separated by semicolons (;), detected on the system.</xs:documentation>
|
||||
<xs:documentation>When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. Windows Installer documentation for the <html:a href="http://msdn.microsoft.com/library/aa372379.aspx" target="_blank">Upgrade table</html:a> states that the property specified in this field must be a public property and must be added to the <html:a href="http://msdn.microsoft.com/library/aa371571.aspx" target="_blank">SecureCustomProperties</html:a> property. WiX automatically appends the property specified in this field to the SecureCustomProperties property when creating an MSI. Each UpgradeVersion must have a unique Property value. After the FindRelatedProducts action is run, the value of this property is a list of product codes, separated by semicolons (;), detected on the system.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MigrateFeatures" type="YesNoTypeUnion">
|
||||
|
@ -8177,7 +8241,7 @@
|
|||
<xs:appinfo>
|
||||
<xse:seeAlso ref="FeatureRef" />
|
||||
<xse:msiRef table="Feature" href="http://msdn.microsoft.com/library/aa368585.aspx" />
|
||||
<xse:howtoRef href="add_a_file.htm">How To: Add a file to your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/add_a_file.html">How To: Add a file to your installer</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -8679,6 +8743,20 @@
|
|||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="MaximumCabinetSizeForLargeFileSplitting" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
Maximum size of cabinet files in megabytes for large files. This attribute is used for packaging
|
||||
files that are larger than MaximumUncompressedMediaSize into smaller cabinets. If cabinet size
|
||||
exceed this value, then setting this attribute will cause the file to be split into multiple
|
||||
cabinets of this maximum size. For simply controlling cabinet size without file splitting use
|
||||
MaximumUncompressedMediaSize attribute. Setting this attribute will disable smart cabbing feature
|
||||
for this Fragment / Product. Setting WIX_MCSLFS environment variable can be used to override this
|
||||
value. Minimum allowed value of this attribute is 20 MB. Maximum allowed value and the Default
|
||||
value of this attribute is 2048 MB (2 GB).
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="IgnoreModularization">
|
||||
|
@ -8998,6 +9076,10 @@
|
|||
<xs:documentation>
|
||||
Specifies that a script custom action targets a 64-bit platform. Valid only when used with
|
||||
the Script, VBScriptCall, and JScriptCall attributes.
|
||||
The default value is based on the platform set by the -arch switch to candle.exe
|
||||
or the InstallerPlatform property in a .wixproj MSBuild project:
|
||||
For x86 and ARM, the default value is 'no'.
|
||||
For x64 and IA64, the default value is 'yes'.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
@ -10681,8 +10763,8 @@
|
|||
</xs:documentation>
|
||||
<xs:appinfo>
|
||||
<xse:msiRef table="Icon" href="http://msdn.microsoft.com/library/aa369210.aspx" />
|
||||
<xse:howtoRef href="configure_arp_appearance.htm">How To: Set your installer's icon in Add/Remove Programs</xse:howtoRef>
|
||||
<xse:howtoRef href="create_start_menu_shortcut.htm">How To: Create a shortcut on the Start Menu</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/configure_arp_appearance.html">How To: Set your installer's icon in Add/Remove Programs</xse:howtoRef>
|
||||
<xse:howtoRef href="files_and_registry/create_start_menu_shortcut.html">How To: Create a shortcut on the Start Menu</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -11193,7 +11275,7 @@
|
|||
</xs:attribute>
|
||||
<xs:attribute name="Text" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <html:a href="http://msdn2.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</html:a> for details.</xs:documentation>
|
||||
<xs:documentation>A localizable string used to set the initial text contained in a control. This attribute can contain a formatted string that is processed at install time to insert the values of properties using [PropertyName] syntax. Also supported are environment variables, file installation paths, and component installation directories; see <html:a href="http://msdn.microsoft.com/library/aa368609.aspx" target="_blank">Formatted</html:a> for details.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Help" type="xs:string">
|
||||
|
@ -12306,7 +12388,7 @@
|
|||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ProductCode" type="xs:string" use="required">
|
||||
<xs:attribute name="ProductCode" type="AutogenGuid" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The ProductCode for this instance.</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
@ -12316,6 +12398,11 @@
|
|||
<xs:documentation>The ProductName for this instance.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UpgradeCode" type="Guid">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The UpgradeCode for this instance.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MajorUpgrade">
|
||||
|
@ -12780,6 +12867,22 @@
|
|||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="YesNoAlwaysTypeUnion">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "always", "yes", or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="YesNoAlwaysType PreprocessorVariables"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="YesNoAlwaysType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type will either be "always", "yes", or "no".</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="always" />
|
||||
<xs:enumeration value="no" />
|
||||
<xs:enumeration value="yes" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="RegistryRootType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Values of this type represent possible registry roots.</xs:documentation>
|
||||
|
|
|
@ -22,10 +22,10 @@
|
|||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:remarks>
|
||||
<html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See <a href="/html/codepage.htm">Code Pages</a> for more information.</html:p>
|
||||
<html:p>You can specify any valid Windows code page by integer like 1252, or by web name like Windows-1252 or iso-8859-1. See <a href="~/overview/codepage.html">Code Pages</a> for more information.</html:p>
|
||||
</xse:remarks>
|
||||
<xse:howtoRef href="build_a_localized_version.htm">How To: Build a localized version of your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="make_installer_localizable.htm">How To: Make your installer localizable</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/build_a_localized_version.html">How To: Build a localized version of your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/make_installer_localizable.html">How To: Make your installer localizable</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
|
@ -54,8 +54,8 @@
|
|||
<xs:element name="String">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<xse:howtoRef href="build_a_localized_version.htm">How To: Build a localized version of your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="make_installer_localizable.htm">How To: Make your installer localizable</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/build_a_localized_version.html">How To: Build a localized version of your installer</xse:howtoRef>
|
||||
<xse:howtoRef href="ui_and_localization/make_installer_localizable.html">How To: Make your installer localizable</xse:howtoRef>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:complexType mixed="true">
|
||||
|
|
Binary file not shown.
|
@ -15,4 +15,7 @@
|
|||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -12,4 +12,7 @@
|
|||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
|
Binary file not shown.
|
@ -12,4 +12,7 @@
|
|||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
|
BIN
tools/WIX/lux.exe
Normal file
BIN
tools/WIX/lux.exe
Normal file
Binary file not shown.
17
tools/WIX/lux.exe.config
Normal file
17
tools/WIX/lux.exe.config
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
<copyright file="app.config" company="Outercurve Foundation">
|
||||
Copyright (c) 2004, Outercurve Foundation.
|
||||
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||
The license and further copyright text can be found in the file
|
||||
LICENSE.TXT at the root directory of the distribution.
|
||||
</copyright>
|
||||
-->
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="extensions" value="WixDifxAppExtension;WixDirectXExtension;WixFirewallExtension;WixGamingExtension;WixIIsExtension;WixLuxExtension;WixNetFxExtension;WixSqlExtension;WixUIExtension;WixUtilExtension;WixVSExtension" />
|
||||
</appSettings>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" />
|
||||
</startup>
|
||||
</configuration>
|
117
tools/WIX/lux.targets
Normal file
117
tools/WIX/lux.targets
Normal file
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<copyright file="lux.targets" company="Outercurve Foundation">
|
||||
Copyright (c) 2004, Outercurve Foundation.
|
||||
This software is released under Microsoft Reciprocal License (MS-RL).
|
||||
The license and further copyright text can be found in the file
|
||||
LICENSE.TXT at the root directory of the distribution.
|
||||
</copyright>
|
||||
-->
|
||||
<Project
|
||||
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
|
||||
ToolsVersion="3.5">
|
||||
|
||||
<UsingTask TaskName="GenerateTestConsumer" AssemblyFile="$(LuxTasksPath)" />
|
||||
<UsingTask TaskName="Nit" AssemblyFile="$(LuxTasksPath)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildTestPackageDependsOn>Compile;_ScanForUnitTests;_GenerateTestConsumer;Link</BuildTestPackageDependsOn>
|
||||
<TestDependsOn>$(BuildTestPackageDependsOn)</TestDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<GeneratedTestConsumer Include="$(OutputName)_test.wxs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target
|
||||
Name="_ScanForUnitTests">
|
||||
|
||||
<!--
|
||||
So the Link target can do proper up-to-date checking, we need to give it the right list of
|
||||
.wixobj inputs, which we get by scanning for unit tests and not generating a test consumer.
|
||||
-->
|
||||
|
||||
<GenerateTestConsumer
|
||||
InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)"
|
||||
Extensions="@(_ResolvedWixExtensionPaths)">
|
||||
<Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" />
|
||||
</GenerateTestConsumer>
|
||||
|
||||
<ItemGroup>
|
||||
<CompileObjOutput
|
||||
Remove="@(CompileObjOutput)" />
|
||||
<CompileObjOutput
|
||||
Include="
|
||||
@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)');
|
||||
@(FilesThatAreFragments);
|
||||
" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetName>$(OutputName)_test</TargetName>
|
||||
<SuppressIces>ICE71;$(SuppressIces)</SuppressIces>
|
||||
<SuppressValidation>true</SuppressValidation>
|
||||
</PropertyGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="_GenerateTestConsumer"
|
||||
Inputs="@(Compile);
|
||||
@(Content);
|
||||
@(_ResolvedWixExtensionPaths);
|
||||
@(_ResolvedProjectReferencePaths);
|
||||
$(MSBuildAllProjects)"
|
||||
Outputs="@(GeneratedTestConsumer -> '$(IntermediateOutputPath)%(Filename)$(IntermediateExt)')">
|
||||
|
||||
<GenerateTestConsumer
|
||||
InputFiles="@(CompileObjOutput);@(WixObject);@(WixLibProjects);@(_ResolvedWixLibraryPaths)"
|
||||
Extensions="@(_ResolvedWixExtensionPaths)"
|
||||
OutputFile="@(GeneratedTestConsumer)">
|
||||
<Output TaskParameter="InputFragments" ItemName="FilesThatAreFragments" />
|
||||
</GenerateTestConsumer>
|
||||
|
||||
<Candle
|
||||
SourceFiles="@(GeneratedTestConsumer)"
|
||||
AdditionalOptions="$(CompilerAdditionalOptions)"
|
||||
DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)"
|
||||
ExtensionDirectory="$(WixExtDir)"
|
||||
Extensions="@(_ResolvedWixExtensionPaths)"
|
||||
FipsCompliant="$(FipsCompliant)"
|
||||
IncludeSearchPaths="$(IncludeSearchPaths)"
|
||||
InstallerPlatform="$(InstallerPlatform)"
|
||||
NoLogo="$(CompilerNoLogo)"
|
||||
OutputFile="$(IntermediateOutputPath)"
|
||||
Pedantic="$(Pedantic)"
|
||||
ReferencePaths="$(ReferencePaths)"
|
||||
RunAsSeparateProcess="$(RunWixToolsOutOfProc)"
|
||||
ShowSourceTrace="$(ShowSourceTrace)"
|
||||
SuppressAllWarnings="$(CompilerSuppressAllWarnings)"
|
||||
SuppressSchemaValidation="$(CompilerSuppressSchemaValidation)"
|
||||
SuppressSpecificWarnings="$(CompilerSuppressSpecificWarnings)"
|
||||
ToolPath="$(WixToolPath)"
|
||||
TreatWarningsAsErrors="$(CompilerTreatWarningsAsErrors)"
|
||||
TreatSpecificWarningsAsErrors="$(CompilerTreatSpecificWarningsAsErrors)"
|
||||
VerboseOutput="$(CompilerVerboseOutput)" />
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="BuildTestPackage"
|
||||
Inputs="@(CompileObjOutput);
|
||||
@(WixObject);
|
||||
@(_ResolvedProjectReferencePaths);
|
||||
@(_ResolvedWixLibraryPaths);
|
||||
@(_ResolvedWixExtensionPaths);
|
||||
$(MSBuildAllProjects)"
|
||||
Outputs="$(TargetPath)"
|
||||
DependsOnTargets="$(BuildTestPackageDependsOn)" />
|
||||
|
||||
<Target
|
||||
Name="Test"
|
||||
DependsOnTargets="$(BuildTestPackageDependsOn)">
|
||||
|
||||
<Nit
|
||||
TestPackages="$(TargetPath)"
|
||||
ToolPath="$(WixToolPath)" />
|
||||
</Target>
|
||||
</Project>
|
Binary file not shown.
|
@ -8,10 +8,11 @@
|
|||
</copyright>
|
||||
-->
|
||||
<configuration>
|
||||
<appSettings>
|
||||
</appSettings>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<loadFromRemoteSources enabled="true"/>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
|
BIN
tools/WIX/nit.exe
Normal file
BIN
tools/WIX/nit.exe
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue