Installer: old to new update #3
This commit is contained in:
parent
51645d124c
commit
7fcbcb18d5
8 changed files with 221 additions and 295 deletions
|
@ -10,38 +10,38 @@
|
||||||
<Media Id="1" EmbedCab="yes" Cabinet="websitepanel_cab" />
|
<Media Id="1" EmbedCab="yes" Cabinet="websitepanel_cab" />
|
||||||
<!-- Use WIX_UPGRADE_DETECTED -->
|
<!-- Use WIX_UPGRADE_DETECTED -->
|
||||||
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed."/>
|
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed."/>
|
||||||
<Feature Id ="WebsitePanel" Title="Website Panel" Level="1" ConfigurableDirectory="WEBSITEPANELDIR" AllowAdvertise="no" Display="expand"
|
<Feature Id ="WebsitePanel" Title="Website Panel" Level="1" ConfigurableDirectory="WSP_INSTALL_DIR" 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.">
|
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" />
|
<ComponentGroupRef Id="WebsitePanelFiles" />
|
||||||
<Feature Id="ServerFeature" Title="$(var.ServerTitle)" Level="1" ConfigurableDirectory="INSTALLSERVERFOLDER" AllowAdvertise="no"
|
<Feature Id="ServerFeature" Title="$(var.ServerTitle)" Level="1" ConfigurableDirectory="PI_SERVER_INSTALL_DIR" AllowAdvertise="no"
|
||||||
Description="$(var.ServerDescription)">
|
Description="$(var.ServerDescription)">
|
||||||
<ComponentGroupRef Id="ServerFiles" />
|
<ComponentGroupRef Id="ServerFiles" />
|
||||||
</Feature>
|
</Feature>
|
||||||
<Feature Id="EnterpriseServerFeature" Title="$(var.EServerTitle)" Level="1" ConfigurableDirectory="INSTALLENTERPRISESERVERFOLDER" AllowAdvertise="no"
|
<Feature Id="EnterpriseServerFeature" Title="$(var.EServerTitle)" Level="1" ConfigurableDirectory="PI_ESERVER_INSTALL_DIR" AllowAdvertise="no"
|
||||||
Description="$(var.ServerDescription)">
|
Description="$(var.ServerDescription)">
|
||||||
<ComponentGroupRef Id="EnterpriseServerFiles" />
|
<ComponentGroupRef Id="EnterpriseServerFiles" />
|
||||||
<ComponentGroupRef Id="DatabaseInstallation"/>
|
<ComponentGroupRef Id="DatabaseInstallation"/>
|
||||||
</Feature>
|
</Feature>
|
||||||
<Feature Id="PortalFeature" Title="$(var.PortalTitle)" Level="1" ConfigurableDirectory="INSTALLPORTALFOLDER" AllowAdvertise="no"
|
<Feature Id="PortalFeature" Title="$(var.PortalTitle)" Level="1" ConfigurableDirectory="PI_PORTAL_INSTALL_DIR" AllowAdvertise="no"
|
||||||
Description="$(var.PortalDescription)">
|
Description="$(var.PortalDescription)">
|
||||||
<ComponentGroupRef Id="PortalFiles" />
|
<ComponentGroupRef Id="PortalFiles" />
|
||||||
</Feature>
|
</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="PI_SCHEDULER_INSTALL_DIR" AllowAdvertise="no" Description="WebsitePanel Scheduler Service">
|
||||||
<ComponentGroupRef Id="SchedulerServiceFiles" />
|
<ComponentGroupRef Id="SchedulerServiceFiles" />
|
||||||
</Feature>
|
</Feature>
|
||||||
<Feature Id ="WDPortalFeature" Title="WebDAV Portal" Level="100" ConfigurableDirectory="INSTALLWEBDAVPORTALFOLDER" AllowAdvertise ="no"
|
<Feature Id ="WDPortalFeature" Title="WebDAV Portal" Level="100" ConfigurableDirectory="PI_WDPORTAL_INSTALL_DIR" AllowAdvertise ="no"
|
||||||
Description="WebsitePanel WebDAV Portal">
|
Description="WebsitePanel WebDAV Portal">
|
||||||
<ComponentGroupRef Id="WebDavPortalFiles"/>
|
<ComponentGroupRef Id="WebDavPortalFiles"/>
|
||||||
</Feature>
|
</Feature>
|
||||||
</Feature>
|
</Feature>
|
||||||
<!--Destinations.-->
|
<!--Destinations.-->
|
||||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||||
<Directory Id="WEBSITEPANELDIR" Name="WebsitePanel">
|
<Directory Id="WSP_INSTALL_DIR" Name="WebsitePanel">
|
||||||
<Directory Id="INSTALLSERVICEFOLDER" Name="SchedulerService" />
|
<Directory Id="PI_SERVER_INSTALL_DIR" Name="Server" />
|
||||||
<Directory Id="INSTALLSERVERFOLDER" Name="Server" />
|
<Directory Id="PI_ESERVER_INSTALL_DIR" Name="Enterprise Server" />
|
||||||
<Directory Id="INSTALLENTERPRISESERVERFOLDER" Name="Enterprise Server" />
|
<Directory Id="PI_PORTAL_INSTALL_DIR" Name="Portal" />
|
||||||
<Directory Id="INSTALLPORTALFOLDER" Name="Portal" />
|
<Directory Id="PI_SCHEDULER_INSTALL_DIR" Name="SchedulerService" />
|
||||||
<Directory Id="INSTALLWEBDAVPORTALFOLDER" Name="WebDavPortal"/>
|
<Directory Id="PI_WDPORTAL_INSTALL_DIR" Name="WebDavPortal"/>
|
||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
<EnsureTable Id="ComboBox"/>
|
<EnsureTable Id="ComboBox"/>
|
||||||
|
@ -566,10 +566,7 @@
|
||||||
<Property Id="COMPFOUND_WDPORTAL" Secure="yes" Value="1" />
|
<Property Id="COMPFOUND_WDPORTAL" Secure="yes" Value="1" />
|
||||||
<Property Id="COMPFOUND_SCHEDULER" Secure="yes" Value="1" />
|
<Property Id="COMPFOUND_SCHEDULER" Secure="yes" Value="1" />
|
||||||
<!--CustomActions.-->
|
<!--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_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_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_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_PreInstallationAction" BinaryKey="Assembly_CA" DllEntry="PreInstallationAction" />
|
||||||
|
@ -595,39 +592,54 @@
|
||||||
<CustomAction Id="CA_SetEServerUrlUI" BinaryKey ="Assembly_CA" DllEntry="SetEServerUrlUI" />
|
<CustomAction Id="CA_SetEServerUrlUI" BinaryKey ="Assembly_CA" DllEntry="SetEServerUrlUI" />
|
||||||
<CustomAction Id="CA_InstallWebFeatures" BinaryKey="Assembly_CA" DllEntry="InstallWebFeatures" Impersonate="no" />
|
<CustomAction Id="CA_InstallWebFeatures" BinaryKey="Assembly_CA" DllEntry="InstallWebFeatures" Impersonate="no" />
|
||||||
<!--Run corresponding install scripts.-->
|
<!--Run corresponding install scripts.-->
|
||||||
|
<!-- Prepare and backup when upgrading from old to new installer type.
|
||||||
|
Yes, session variables and custom action data are identical for corresponding WebsitePanel components in prepare and install scripts.
|
||||||
|
Prepare scripts must be run before normal installation process and file copying.-->
|
||||||
|
<CustomAction Id="CA_PropertyOnServerPrepare" Property="CA_OnServerPrepare" Value ="ApplicationName=$(var.NAME);ComponentName=$(var.ServerTitle);ComponentCode=server;ComponentDescription=$(var.ServerDescription);Version=$(var.VERSION);InstallationFolder=[PI_SERVER_INSTALL_DIR];InstallerFolder=[WSP_INSTALL_DIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
|
<CustomAction Id="CA_OnServerPrepare" BinaryKey="Assembly_CA" DllEntry="OnServerPrepare" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
|
<CustomAction Id="CA_PropertyOnEServerPrepare" Property="CA_OnEServerPrepare" Value ="ApplicationName=$(var.NAME);ComponentName=$(var.EServerTitle);ComponentCode=enterprise server;ComponentDescription=$(var.EServerDescription);Version=$(var.VERSION);InstallationFolder=[PI_ESERVER_INSTALL_DIR];InstallerFolder=[WSP_INSTALL_DIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
|
<CustomAction Id="CA_OnEServerPrepare" BinaryKey="Assembly_CA" DllEntry="OnEServerPrepare" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
|
<CustomAction Id="CA_PropertyOnPortalPrepare" Property="CA_OnPortalPrepare" Value ="ApplicationName=$(var.NAME);ComponentName=$(var.PortalTitle);ComponentCode=portal;ComponentDescription=$(var.PortalDescription);Version=$(var.VERSION);InstallationFolder=[PI_PORTAL_INSTALL_DIR];InstallerFolder=[WSP_INSTALL_DIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
|
<CustomAction Id="CA_OnPortalPrepare" BinaryKey="Assembly_CA" DllEntry="OnPortalPrepare" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
|
<!--Install scripts.-->
|
||||||
<!--Server.-->
|
<!--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=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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_PropertyOnServerInstall" Property="CA_OnServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.ServerTitle);ComponentCode=server;ComponentDescription=$(var.ServerDescription);Version=$(var.VERSION);InstallationFolder=[PI_SERVER_INSTALL_DIR];InstallerFolder=[WSP_INSTALL_DIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
<CustomAction Id="CA_OnServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||||
<!--EServer.-->
|
<!--EServer.-->
|
||||||
<CustomAction Id="CA_PropertyOnEServerInstall" Property="CA_OnEServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.EServerTitle);ComponentCode=enterprise server;ComponentDescription=$(var.EServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLENTERPRISESERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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_PropertyOnEServerInstall" Property="CA_OnEServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.EServerTitle);ComponentCode=enterprise server;ComponentDescription=$(var.EServerDescription);Version=$(var.VERSION);InstallationFolder=[PI_ESERVER_INSTALL_DIR];InstallerFolder=[WSP_INSTALL_DIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnEServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnEServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
<CustomAction Id="CA_OnEServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnEServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||||
<!--Portal.-->
|
<!--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=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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_PropertyOnPortalInstall" Property="CA_OnPortalInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.PortalTitle);ComponentCode=portal;ComponentDescription=$(var.PortalDescription);Version=$(var.VERSION);InstallationFolder=[PI_PORTAL_INSTALL_DIR];InstallerFolder=[WSP_INSTALL_DIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];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=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnPortalInstall" BinaryKey ="Assembly_CA" DllEntry="OnPortalInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
<CustomAction Id="CA_OnPortalInstall" BinaryKey ="Assembly_CA" DllEntry="OnPortalInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||||
<!--Run corresponding uninstall scripts.-->
|
<!--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_PropertyOnServerRemove" Property="CA_OnServerRemove" Value="InstallerFolder=[WSP_INSTALL_DIR];ComponentCode=server;BaseDirectory=[WSP_INSTALL_DIR];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_OnServerRemove" BinaryKey="Assembly_CA" DllEntry="OnServerRemove" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
<CustomAction Id="CA_PropertyOnEServerRemove" Property="CA_OnEServerRemove" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=enterprise server;BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
<CustomAction Id="CA_PropertyOnEServerRemove" Property="CA_OnEServerRemove" Value="InstallerFolder=[WSP_INSTALL_DIR];ComponentCode=enterprise server;BaseDirectory=[WSP_INSTALL_DIR];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_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_PropertyOnPortalRemove" Property="CA_OnPortalRemove" Value="InstallerFolder=[WSP_INSTALL_DIR];ComponentCode=portal;BaseDirectory=[WSP_INSTALL_DIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnPortalRemove" BinaryKey="Assembly_CA" DllEntry="OnPortalRemove" Impersonate="no" Execute="deferred" HideTarget="no" />
|
<CustomAction Id="CA_OnPortalRemove" BinaryKey="Assembly_CA" DllEntry="OnPortalRemove" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
<!--Maintenance mode.-->
|
<!--Maintenance mode.-->
|
||||||
<CustomAction Id="CA_PropertyMaintenanceServer" Property="CA_MaintenanceServer" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=server;BaseDirectory=[WEBSITEPANELDIR];ServerPassword=[SERVER_ACCESS_PASSWORD]" />
|
<CustomAction Id="CA_PropertyMaintenanceServer" Property="CA_MaintenanceServer" Value="InstallerFolder=[WSP_INSTALL_DIR];ComponentCode=server;BaseDirectory=[WSP_INSTALL_DIR];ServerPassword=[SERVER_ACCESS_PASSWORD]" />
|
||||||
<CustomAction Id="CA_MaintenanceServer" BinaryKey="Assembly_CA" DllEntry="MaintenanceServer" Impersonate="no" Execute="deferred" HideTarget="no" />
|
<CustomAction Id="CA_MaintenanceServer" BinaryKey="Assembly_CA" DllEntry="MaintenanceServer" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
<CustomAction Id="CA_PropertyMaintenanceEServer" Property="CA_MaintenanceEServer" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=enterprise server;BaseDirectory=[WEBSITEPANELDIR];ServerAdminPassword=[SERVERADMIN_PASSWORD];" />
|
<CustomAction Id="CA_PropertyMaintenanceEServer" Property="CA_MaintenanceEServer" Value="InstallerFolder=[WSP_INSTALL_DIR];ComponentCode=enterprise server;BaseDirectory=[WSP_INSTALL_DIR];ServerAdminPassword=[SERVERADMIN_PASSWORD];" />
|
||||||
<CustomAction Id="CA_MaintenanceEServer" BinaryKey="Assembly_CA" DllEntry="MaintenanceEServer" Impersonate="no" Execute="deferred" HideTarget="no" />
|
<CustomAction Id="CA_MaintenanceEServer" BinaryKey="Assembly_CA" DllEntry="MaintenanceEServer" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
<CustomAction Id="CA_PropertyMaintenancePortal" Property="CA_MaintenancePortal" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=portal;BaseDirectory=[WEBSITEPANELDIR];EnterpriseServerUrl=[PI_ESERVER_URL]" />
|
<CustomAction Id="CA_PropertyMaintenancePortal" Property="CA_MaintenancePortal" Value="InstallerFolder=[WSP_INSTALL_DIR];ComponentCode=portal;BaseDirectory=[WSP_INSTALL_DIR];EnterpriseServerUrl=[PI_ESERVER_URL]" />
|
||||||
<CustomAction Id="CA_MaintenancePortal" BinaryKey="Assembly_CA" DllEntry="MaintenancePortal" Impersonate="no" Execute="deferred" HideTarget="no" />
|
<CustomAction Id="CA_MaintenancePortal" BinaryKey="Assembly_CA" DllEntry="MaintenancePortal" Impersonate="no" Execute="deferred" HideTarget="no" />
|
||||||
<!---->
|
<!---->
|
||||||
<SetProperty Id="WEBSITEPANELDIR" After="AppSearch" Value="[WSP_BASE]">WSP_BASE</SetProperty>
|
<SetProperty Id="WSP_INSTALL_DIR" After="AppSearch" Value="[WSP_BASE]">WSP_BASE</SetProperty>
|
||||||
<SetProperty Id="ARPINSTALLLOCATION" Value="[WEBSITEPANELDIR]" After="InstallValidate" Sequence="execute" />
|
<SetProperty Id="ARPINSTALLLOCATION" Value="[WSP_INSTALL_DIR]" After="InstallValidate" Sequence="execute" />
|
||||||
<CustomAction Id="CA_PreFillSettings" BinaryKey="Assembly_CA" DllEntry="PreFillSettings" />
|
<CustomAction Id="CA_PreFillSettings" BinaryKey="Assembly_CA" DllEntry="PreFillSettings" />
|
||||||
<!--Exe sequence.-->
|
<!--Exe sequence.-->
|
||||||
<InstallExecuteSequence>
|
<InstallExecuteSequence>
|
||||||
|
<!--Preinstall.-->
|
||||||
<Custom Action="CA_InstallWebFeatures" Before="CostInitialize"><![CDATA[(&ServerFeature=3) OR (&EnterpriseServerFeature=3) OR (&PortalFeature=3) OR (&SchedulerServiceFeature=3) OR (&WDPortalFeature=3)]]></Custom>
|
<Custom Action="CA_InstallWebFeatures" Before="CostInitialize"><![CDATA[(&ServerFeature=3) OR (&EnterpriseServerFeature=3) OR (&PortalFeature=3) OR (&SchedulerServiceFeature=3) OR (&WDPortalFeature=3)]]></Custom>
|
||||||
<!--<Custom Action="CA_PropertyFinalizeInstall" After='InstallValidate'/>
|
<!--Preparation when "old to new installer update".-->
|
||||||
<Custom Action="CA_FinalizeUnInstall" After="InstallValidate">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
|
<Custom Action="CA_PropertyOnServerPrepare" Before="InstallFiles"><![CDATA[COMPFOUND_SERVER=1 AND NOT WIX_UPGRADE_DETECTED AND NOT UPGRADINGPRODUCTCODE]]></Custom>
|
||||||
<Custom Action="CA_FinalizeInstall" After="InstallFiles" >NOT Installed or REINSTALL</Custom>-->
|
<Custom Action="CA_OnServerPrepare" After="CA_PropertyOnServerPrepare"><![CDATA[COMPFOUND_SERVER=1 AND NOT WIX_UPGRADE_DETECTED AND NOT UPGRADINGPRODUCTCODE]]></Custom>
|
||||||
|
<Custom Action="CA_PropertyOnEServerPrepare" Before="InstallFiles"><![CDATA[COMPFOUND_ESERVER=1 AND NOT WIX_UPGRADE_DETECTED AND NOT UPGRADINGPRODUCTCODE]]></Custom>
|
||||||
|
<Custom Action="CA_OnEServerPrepare" After="CA_PropertyOnEServerPrepare"><![CDATA[COMPFOUND_ESERVER=1 AND NOT WIX_UPGRADE_DETECTED AND NOT UPGRADINGPRODUCTCODE]]></Custom>
|
||||||
|
<Custom Action="CA_PropertyOnPortalPrepare" Before="InstallFiles"><![CDATA[COMPFOUND_PORTAL=1 AND NOT WIX_UPGRADE_DETECTED AND NOT UPGRADINGPRODUCTCODE]]></Custom>
|
||||||
|
<Custom Action="CA_OnPortalPrepare" After="CA_PropertyOnPortalPrepare"><![CDATA[COMPFOUND_PORTAL=1 AND NOT WIX_UPGRADE_DETECTED AND NOT UPGRADINGPRODUCTCODE]]></Custom>
|
||||||
<!--First Install. [Installed] property not used here because we distinguish per feature basis.-->
|
<!--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_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_OnServerInstall" After="InstallFiles"><![CDATA[(&ServerFeature=3) AND NOT(!ServerFeature=3)]]></Custom>
|
||||||
|
@ -650,7 +662,7 @@
|
||||||
<Custom Action="CA_PropertyMaintenancePortal" After="InstallInitialize"><![CDATA[&PortalFeature=-1 AND !PortalFeature=3]]></Custom>
|
<Custom Action="CA_PropertyMaintenancePortal" After="InstallInitialize"><![CDATA[&PortalFeature=-1 AND !PortalFeature=3]]></Custom>
|
||||||
<Custom Action="CA_MaintenancePortal" After="CA_PropertyMaintenancePortal"><![CDATA[&PortalFeature=-1 AND !PortalFeature=3]]></Custom>
|
<Custom Action="CA_MaintenancePortal" After="CA_PropertyMaintenancePortal"><![CDATA[&PortalFeature=-1 AND !PortalFeature=3]]></Custom>
|
||||||
<!---->
|
<!---->
|
||||||
<!--<Custom Action="CA_PreFillSettings" After="SetWEBSITEPANELDIR">1</Custom>-->
|
<!--<Custom Action="CA_PreFillSettings" After="SetWSP_INSTALL_DIR">1</Custom>-->
|
||||||
</InstallExecuteSequence>
|
</InstallExecuteSequence>
|
||||||
<InstallUISequence>
|
<InstallUISequence>
|
||||||
<Custom Action="CA_PreFillSettings" Before="CA_InstallWebFeatures" />
|
<Custom Action="CA_PreFillSettings" Before="CA_InstallWebFeatures" />
|
||||||
|
@ -669,10 +681,10 @@
|
||||||
<ComponentRef Id="UpdateDatabaseSql"/>
|
<ComponentRef Id="UpdateDatabaseSql"/>
|
||||||
<ComponentRef Id="UpdateDatabaseWin"/>
|
<ComponentRef Id="UpdateDatabaseWin"/>
|
||||||
</ComponentGroup>
|
</ComponentGroup>
|
||||||
<DirectoryRef Id="INSTALLENTERPRISESERVERFOLDER">
|
<DirectoryRef Id="PI_ESERVER_INSTALL_DIR">
|
||||||
<Component Id="InstallDatabaseSql" Guid="{81FB6008-A445-464F-8A0E-2EE076027FF3}">
|
<Component Id="InstallDatabaseSql" Guid="{81FB6008-A445-464F-8A0E-2EE076027FF3}">
|
||||||
<CreateFolder />
|
<CreateFolder />
|
||||||
<Condition>(NOT Installed AND NOT WIX_UPGRADE_DETECTED) AND NOT(DB_AUTH = "Windows Authentication")</Condition>
|
<Condition>(NOT Installed AND NOT WIX_UPGRADE_DETECTED) AND NOT(DB_AUTH = "Windows Authentication") AND (COMPFOUND_ESERVER="0")</Condition>
|
||||||
<util:User Id="SqlUser" Name="[DB_LOGIN]" Password="[DB_PASSWORD]" CreateUser="no" />
|
<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"
|
<sql:SqlDatabase Id="SqlDatabaseInstallSql" ConfirmOverwrite="yes" ContinueOnError="no" CreateOnInstall="yes" CreateOnReinstall="no" CreateOnUninstall="no"
|
||||||
DropOnInstall="no" DropOnReinstall="no" DropOnUninstall="no"
|
DropOnInstall="no" DropOnReinstall="no" DropOnUninstall="no"
|
||||||
|
@ -696,7 +708,7 @@
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="InstallDatabaseWin" Guid="{C50FC58C-3EF3-452D-BA9B-C9513B4D941A}">
|
<Component Id="InstallDatabaseWin" Guid="{C50FC58C-3EF3-452D-BA9B-C9513B4D941A}">
|
||||||
<CreateFolder />
|
<CreateFolder />
|
||||||
<Condition>(NOT Installed AND NOT WIX_UPGRADE_DETECTED) AND (DB_AUTH = "Windows Authentication")</Condition>
|
<Condition>(NOT Installed AND NOT WIX_UPGRADE_DETECTED) AND (DB_AUTH = "Windows Authentication") AND (COMPFOUND_ESERVER="0")</Condition>
|
||||||
<sql:SqlDatabase Id="SqlDatabaseInstallWin" ConfirmOverwrite="yes" ContinueOnError="no" CreateOnInstall="yes" CreateOnReinstall="no" CreateOnUninstall="no"
|
<sql:SqlDatabase Id="SqlDatabaseInstallWin" ConfirmOverwrite="yes" ContinueOnError="no" CreateOnInstall="yes" CreateOnReinstall="no" CreateOnUninstall="no"
|
||||||
DropOnInstall="no" DropOnReinstall="no" DropOnUninstall="no"
|
DropOnInstall="no" DropOnReinstall="no" DropOnUninstall="no"
|
||||||
Server="[DB_SERVER]"
|
Server="[DB_SERVER]"
|
||||||
|
@ -719,12 +731,12 @@
|
||||||
</Fragment>
|
</Fragment>
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<ComponentGroup Id="WebsitePanelFiles">
|
<ComponentGroup Id="WebsitePanelFiles">
|
||||||
<Component Id ="comp_WebsitePanel_config" Directory="WEBSITEPANELDIR" Guid="{28CD1ADB-562C-4E38-A3B6-325D3A2718B1}">
|
<Component Id ="comp_WebsitePanel_config" Directory="WSP_INSTALL_DIR" Guid="{28CD1ADB-562C-4E38-A3B6-325D3A2718B1}">
|
||||||
<File Id="file_WebsitePanel_config" KeyPath="yes" Source="WebsitePanel.config" />
|
<File Id="file_WebsitePanel_config" KeyPath="yes" Source="WebsitePanel.config" />
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="comp_WebsitePanel_reg_locator" Directory="WEBSITEPANELDIR" Guid="{CC35E1B5-3E29-4AD1-991C-2904E4DCB099}">
|
<Component Id="comp_WebsitePanel_reg_locator" Directory="WSP_INSTALL_DIR" Guid="{CC35E1B5-3E29-4AD1-991C-2904E4DCB099}">
|
||||||
<RegistryValue Root='HKLM' Key='SOFTWARE\[ProductName]'
|
<RegistryValue Root='HKLM' Key='SOFTWARE\[ProductName]'
|
||||||
Name='Base' Value='[WEBSITEPANELDIR]'
|
Name='Base' Value='[WSP_INSTALL_DIR]'
|
||||||
Type='string' />
|
Type='string' />
|
||||||
</Component>
|
</Component>
|
||||||
</ComponentGroup>
|
</ComponentGroup>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<?define SERVERBUILDPATH = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Server\bin"?>
|
<?define SERVERBUILDPATH = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Server\bin"?>
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<ComponentGroup Id="SchedulerServiceFiles">
|
<ComponentGroup Id="SchedulerServiceFiles">
|
||||||
<Component Id="cmpSchedulerServiceFiles" Directory="INSTALLSERVICEFOLDER" Guid="{5E9F9A14-DB8E-4555-8D40-67110698F046}">
|
<Component Id="cmpSchedulerServiceFiles" Directory="PI_SCHEDULER_INSTALL_DIR" Guid="{5E9F9A14-DB8E-4555-8D40-67110698F046}">
|
||||||
<File Id="WebsitePanel.SchedulerService.exe" Source="$(var.BUILDPATH)\WebsitePanel.SchedulerService.exe" />
|
<File Id="WebsitePanel.SchedulerService.exe" Source="$(var.BUILDPATH)\WebsitePanel.SchedulerService.exe" />
|
||||||
<File Id="WebsitePanel.SchedulerService.exe.config" Source="$(var.BUILDPATH)\WebsitePanel.SchedulerService.exe.config" />
|
<File Id="WebsitePanel.SchedulerService.exe.config" Source="$(var.BUILDPATH)\WebsitePanel.SchedulerService.exe.config" />
|
||||||
<File Id="Ionic.Zip.Reduced.dll" Source="$(var.SERVERBUILDPATH)\Ionic.Zip.Reduced.dll"/>
|
<File Id="Ionic.Zip.Reduced.dll" Source="$(var.SERVERBUILDPATH)\Ionic.Zip.Reduced.dll"/>
|
||||||
|
|
|
@ -398,7 +398,7 @@ namespace WebsitePanel.Setup
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Check for existing user
|
/// Check for existing user
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static bool UserExists(string domain, string userName)
|
public static bool UserExists(string domain, string userName)
|
||||||
{
|
{
|
||||||
bool found = false;
|
bool found = false;
|
||||||
// check whether user account already exists
|
// check whether user account already exists
|
||||||
|
|
|
@ -768,7 +768,7 @@ namespace WebsitePanel.Setup
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="name"></param>
|
/// <param name="name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
internal static bool ApplicationPoolExists(string name)
|
public static bool ApplicationPoolExists(string name)
|
||||||
{
|
{
|
||||||
WmiHelper wmi = new WmiHelper("root\\MicrosoftIISv2");
|
WmiHelper wmi = new WmiHelper("root\\MicrosoftIISv2");
|
||||||
return(wmi.ExecuteQuery(
|
return(wmi.ExecuteQuery(
|
||||||
|
@ -780,7 +780,7 @@ namespace WebsitePanel.Setup
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="name"></param>
|
/// <param name="name"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
internal static bool IIS7ApplicationPoolExists(string name)
|
public static bool IIS7ApplicationPoolExists(string name)
|
||||||
{
|
{
|
||||||
ServerManager serverManager = new ServerManager();
|
ServerManager serverManager = new ServerManager();
|
||||||
bool ret = (serverManager.ApplicationPools[name] != null);
|
bool ret = (serverManager.ApplicationPools[name] != null);
|
||||||
|
|
|
@ -2859,7 +2859,6 @@ namespace WebsitePanel.Setup.Internal
|
||||||
{
|
{
|
||||||
List<InstallAction> list = new List<InstallAction>();
|
List<InstallAction> list = new List<InstallAction>();
|
||||||
InstallAction action = null;
|
InstallAction action = null;
|
||||||
|
|
||||||
//database
|
//database
|
||||||
string connectionString = AppConfig.GetComponentSettingStringValue(componentId, "InstallConnectionString");
|
string connectionString = AppConfig.GetComponentSettingStringValue(componentId, "InstallConnectionString");
|
||||||
if (!String.IsNullOrEmpty(connectionString))
|
if (!String.IsNullOrEmpty(connectionString))
|
||||||
|
@ -2871,7 +2870,6 @@ namespace WebsitePanel.Setup.Internal
|
||||||
action.Description = string.Format("Backing up database {0}...", database);
|
action.Description = string.Format("Backing up database {0}...", database);
|
||||||
list.Add(action);
|
list.Add(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
//directory
|
//directory
|
||||||
string path = AppConfig.GetComponentSettingStringValue(componentId, "InstallFolder");
|
string path = AppConfig.GetComponentSettingStringValue(componentId, "InstallFolder");
|
||||||
if (!string.IsNullOrEmpty(path))
|
if (!string.IsNullOrEmpty(path))
|
||||||
|
@ -2881,7 +2879,6 @@ namespace WebsitePanel.Setup.Internal
|
||||||
action.Description = string.Format("Backing up directory {0}...", path);
|
action.Description = string.Format("Backing up directory {0}...", path);
|
||||||
list.Add(action);
|
list.Add(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
//config
|
//config
|
||||||
action = new InstallAction(ActionTypes.BackupConfig);
|
action = new InstallAction(ActionTypes.BackupConfig);
|
||||||
action.Description = "Backing up configuration settings...";
|
action.Description = "Backing up configuration settings...";
|
||||||
|
@ -2889,9 +2886,7 @@ namespace WebsitePanel.Setup.Internal
|
||||||
list.Add(action);
|
list.Add(action);
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateWebSiteBindings()
|
private void UpdateWebSiteBindings()
|
||||||
{
|
{
|
||||||
string component = Context.ComponentFullName;
|
string component = Context.ComponentFullName;
|
||||||
|
|
|
@ -43,6 +43,13 @@ namespace WebsitePanel.WIXInstaller.Common
|
||||||
Result |= CheckAspNetRegValue(LMKey);
|
Result |= CheckAspNetRegValue(LMKey);
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
public static bool AppPoolExists(string Pool)
|
||||||
|
{
|
||||||
|
if (GetWebServerVersion().Major > MINIMUM_WEBSERVER_MAJOR_VERSION)
|
||||||
|
return WebUtils.IIS7ApplicationPoolExists(Pool);
|
||||||
|
else
|
||||||
|
return WebUtils.ApplicationPoolExists(Pool);
|
||||||
|
}
|
||||||
public static bool CheckAspNetRegValue(RegistryKey BaseKey)
|
public static bool CheckAspNetRegValue(RegistryKey BaseKey)
|
||||||
{
|
{
|
||||||
var WebComponentsKey = "SOFTWARE\\Microsoft\\InetStp\\Components";
|
var WebComponentsKey = "SOFTWARE\\Microsoft\\InetStp\\Components";
|
||||||
|
|
|
@ -52,9 +52,44 @@ namespace WebsitePanel.WIXInstaller
|
||||||
{
|
{
|
||||||
public static List<string> SysDb = new List<string> { "tempdb", "master", "model", "msdb" };
|
public static List<string> SysDb = new List<string> { "tempdb", "master", "model", "msdb" };
|
||||||
public const string CustomDataDelimiter = "-=del=-";
|
public const string CustomDataDelimiter = "-=del=-";
|
||||||
|
public const string SQL_AUTH_WINDOWS = "Windows Authentication";
|
||||||
|
public const string SQL_AUTH_SERVER = "SQL Server Authentication";
|
||||||
|
|
||||||
#region CustomActions
|
#region CustomActions
|
||||||
[CustomAction]
|
[CustomAction]
|
||||||
|
public static ActionResult OnServerPrepare(Session Ctx)
|
||||||
|
{
|
||||||
|
PopUpDebugger();
|
||||||
|
|
||||||
|
Ctx.AttachToSetupLog();
|
||||||
|
Log.WriteStart("OnServerPrepare");
|
||||||
|
GetPrepareScript(Ctx).Run();
|
||||||
|
Log.WriteEnd("OnServerPrepare");
|
||||||
|
return ActionResult.Success;
|
||||||
|
}
|
||||||
|
[CustomAction]
|
||||||
|
public static ActionResult OnEServerPrepare(Session Ctx)
|
||||||
|
{
|
||||||
|
PopUpDebugger();
|
||||||
|
|
||||||
|
Ctx.AttachToSetupLog();
|
||||||
|
Log.WriteStart("OnEServerPrepare");
|
||||||
|
GetPrepareScript(Ctx).Run();
|
||||||
|
Log.WriteEnd("OnEServerPrepare");
|
||||||
|
return ActionResult.Success;
|
||||||
|
}
|
||||||
|
[CustomAction]
|
||||||
|
public static ActionResult OnPortalPrepare(Session Ctx)
|
||||||
|
{
|
||||||
|
PopUpDebugger();
|
||||||
|
|
||||||
|
Ctx.AttachToSetupLog();
|
||||||
|
Log.WriteStart("OnPortalPrepare");
|
||||||
|
GetPrepareScript(Ctx).Run();
|
||||||
|
Log.WriteEnd("OnPortalPrepare");
|
||||||
|
return ActionResult.Success;
|
||||||
|
}
|
||||||
|
[CustomAction]
|
||||||
public static ActionResult MaintenanceServer(Session session)
|
public static ActionResult MaintenanceServer(Session session)
|
||||||
{
|
{
|
||||||
var Result = ActionResult.Success;
|
var Result = ActionResult.Success;
|
||||||
|
@ -84,104 +119,134 @@ namespace WebsitePanel.WIXInstaller
|
||||||
[CustomAction]
|
[CustomAction]
|
||||||
public static ActionResult PreFillSettings(Session session)
|
public static ActionResult PreFillSettings(Session session)
|
||||||
{
|
{
|
||||||
PopUpDebugger();
|
Func<string, bool> HaveInstalledComponents = (string CfgFullPath) =>
|
||||||
var Ctx = session;
|
|
||||||
Ctx.AttachToSetupLog();
|
|
||||||
Log.WriteStart("PreFillSettings");
|
|
||||||
var WSP = Ctx["WEBSITEPANELDIR"];
|
|
||||||
var CfgStr = string.Empty;
|
|
||||||
Func<string, string> GetCfg = (string CfgDir) =>
|
|
||||||
{
|
{
|
||||||
if (Directory.Exists(CfgDir))
|
var ComponentsPath = "//components";
|
||||||
|
return File.Exists(CfgFullPath) ? BackupRestore.HaveChild(CfgFullPath, ComponentsPath) : false;
|
||||||
|
};
|
||||||
|
Func<IEnumerable<string>, string> FindMainConfig = (IEnumerable<string> Dirs) =>
|
||||||
|
{
|
||||||
|
// Looking into platform specific Program Files.
|
||||||
{
|
{
|
||||||
var CfgFile = Path.Combine(CfgDir, BackupRestore.MainConfig);
|
var InstallerMainCfg = "WebsitePanel.Installer.exe.config";
|
||||||
if (File.Exists(CfgFile) && BackupRestore.HaveChild(CfgFile, "//components"))
|
var InstallerName = "WebsitePanel Installer";
|
||||||
return CfgFile;
|
var PFolderType = Environment.Is64BitOperatingSystem ? Environment.SpecialFolder.ProgramFilesX86 : Environment.SpecialFolder.ProgramFiles;
|
||||||
|
var PFiles = Environment.GetFolderPath(PFolderType);
|
||||||
|
var Result = Path.Combine(PFiles, InstallerName, InstallerMainCfg);
|
||||||
|
if (HaveInstalledComponents(Result))
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
// Looking into specific directories.
|
||||||
|
foreach (var Dir in Dirs)
|
||||||
|
{
|
||||||
|
var Result = Path.Combine(Dir, BackupRestore.MainConfig);
|
||||||
|
if (HaveInstalledComponents(Result))
|
||||||
|
{
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var Names = new string[] { Global.Server.ComponentName, Global.EntServer.ComponentName, Global.WebPortal.ComponentName };
|
var ComponentNames = new string[] { Global.Server.ComponentName, Global.EntServer.ComponentName, Global.WebPortal.ComponentName };
|
||||||
foreach (var Name in Names)
|
foreach (var Name in ComponentNames)
|
||||||
{
|
{
|
||||||
var Backup = BackupRestore.Find(CfgDir, Global.DefaultProductName, Name);
|
var Backup = BackupRestore.Find(Dir, Global.DefaultProductName, Name);
|
||||||
if (Backup != null && BackupRestore.HaveChild(Backup.BackupMainConfigFile, "//components"))
|
if (Backup != null && HaveInstalledComponents(Backup.BackupMainConfigFile))
|
||||||
return CfgStr = Backup.BackupMainConfigFile;
|
return Backup.BackupMainConfigFile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return string.Empty;
|
return null;
|
||||||
};
|
};
|
||||||
Func<Session, string, string, bool> SetProperty = (Session CtxSession, string Prop, string Value) =>
|
|
||||||
{
|
var Ctx = session;
|
||||||
if(!string.IsNullOrWhiteSpace(Value))
|
Ctx.AttachToSetupLog();
|
||||||
{
|
|
||||||
CtxSession[Prop] = Value;
|
PopUpDebugger();
|
||||||
return true;
|
|
||||||
}
|
Log.WriteStart("PreFillSettings");
|
||||||
return false;
|
var WSP = Ctx["WSP_INSTALL_DIR"];
|
||||||
};
|
var DirList = new List<string>();
|
||||||
CfgStr = GetCfg(WSP);
|
DirList.Add(WSP);
|
||||||
if(string.IsNullOrWhiteSpace(CfgStr))
|
DirList.AddRange(from Drive in DriveInfo.GetDrives()
|
||||||
{
|
where Drive.DriveType == DriveType.Fixed
|
||||||
var Drives = from Drive in DriveInfo.GetDrives() where Drive.DriveType == DriveType.Fixed select Drive;
|
select Path.Combine(Drive.RootDirectory.FullName, Global.DefaultProductName));
|
||||||
foreach(var Drive in Drives)
|
var CfgPath = FindMainConfig(DirList);
|
||||||
{
|
if (!string.IsNullOrWhiteSpace(CfgPath))
|
||||||
var Dir = Path.Combine(Drive.RootDirectory.FullName, Global.DefaultProductName);
|
|
||||||
CfgStr = GetCfg(Dir);
|
|
||||||
if (!string.IsNullOrWhiteSpace(CfgStr))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!string.IsNullOrWhiteSpace(CfgStr))
|
|
||||||
{
|
{
|
||||||
var EServerUrl = string.Empty;
|
var EServerUrl = string.Empty;
|
||||||
AppConfig.LoadConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = CfgStr });
|
AppConfig.LoadConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = CfgPath });
|
||||||
var CtxVars = new SetupVariables();
|
var CtxVars = new SetupVariables();
|
||||||
CtxVars.ComponentId = WiXSetup.GetComponentID(CfgStr, Global.Server.ComponentCode);
|
CtxVars.ComponentId = WiXSetup.GetComponentID(CfgPath, Global.Server.ComponentCode);
|
||||||
if (!string.IsNullOrWhiteSpace(CtxVars.ComponentId))
|
if (!string.IsNullOrWhiteSpace(CtxVars.ComponentId))
|
||||||
{
|
{
|
||||||
AppConfig.LoadComponentSettings(CtxVars);
|
AppConfig.LoadComponentSettings(CtxVars);
|
||||||
Ctx["COMPFOUND_SERVER"] = "1";
|
|
||||||
SetProperty(Ctx, "PI_SERVER_IP", CtxVars.WebSiteIP);
|
SetProperty(Ctx, "PI_SERVER_IP", CtxVars.WebSiteIP);
|
||||||
SetProperty(Ctx, "PI_SERVER_PORT", CtxVars.WebSitePort);
|
SetProperty(Ctx, "PI_SERVER_PORT", CtxVars.WebSitePort);
|
||||||
SetProperty(Ctx, "PI_SERVER_HOST", CtxVars.WebSiteDomain);
|
SetProperty(Ctx, "PI_SERVER_HOST", CtxVars.WebSiteDomain);
|
||||||
SetProperty(Ctx, "PI_SERVER_LOGIN", CtxVars.UserAccount);
|
SetProperty(Ctx, "PI_SERVER_LOGIN", CtxVars.UserAccount);
|
||||||
SetProperty(Ctx, "PI_SERVER_PASSWORD", CtxVars.UserPassword);
|
|
||||||
SetProperty(Ctx, "PI_SERVER_PASSWORD_CONFIRM",CtxVars.UserPassword);
|
|
||||||
SetProperty(Ctx, "PI_SERVER_DOMAIN", CtxVars.UserDomain);
|
SetProperty(Ctx, "PI_SERVER_DOMAIN", CtxVars.UserDomain);
|
||||||
SetProperty(Ctx, "SERVER_ACCESS_PASSWORD", CtxVars.ServerPassword);
|
|
||||||
SetProperty(Ctx, "SERVER_ACCESS_PASSWORD_CONFIRM", CtxVars.ServerPassword);
|
SetProperty(Ctx, "PI_SERVER_INSTALL_DIR", CtxVars.InstallFolder);
|
||||||
|
SetProperty(Ctx, "WSP_INSTALL_DIR", Directory.GetParent(CtxVars.InstallFolder).FullName);
|
||||||
|
|
||||||
|
var HaveAccount = SecurityUtils.UserExists(CtxVars.UserDomain, CtxVars.UserAccount);
|
||||||
|
bool HavePool = Tool.AppPoolExists(CtxVars.ApplicationPool);
|
||||||
|
|
||||||
|
Ctx["COMPFOUND_SERVER"] = (HaveAccount && HavePool) ? YesNo.Yes : YesNo.No;
|
||||||
}
|
}
|
||||||
CtxVars.ComponentId = WiXSetup.GetComponentID(CfgStr, Global.EntServer.ComponentCode);
|
CtxVars.ComponentId = WiXSetup.GetComponentID(CfgPath, Global.EntServer.ComponentCode);
|
||||||
if (!string.IsNullOrWhiteSpace(CtxVars.ComponentId))
|
if (!string.IsNullOrWhiteSpace(CtxVars.ComponentId))
|
||||||
{
|
{
|
||||||
AppConfig.LoadComponentSettings(CtxVars);
|
AppConfig.LoadComponentSettings(CtxVars);
|
||||||
Ctx["COMPFOUND_ESERVER"] = "1";
|
|
||||||
SetProperty(Ctx, "PI_ESERVER_IP", CtxVars.WebSiteIP);
|
SetProperty(Ctx, "PI_ESERVER_IP", CtxVars.WebSiteIP);
|
||||||
SetProperty(Ctx, "PI_ESERVER_PORT", CtxVars.WebSitePort);
|
SetProperty(Ctx, "PI_ESERVER_PORT", CtxVars.WebSitePort);
|
||||||
SetProperty(Ctx, "PI_ESERVER_HOST", CtxVars.WebSiteDomain);
|
SetProperty(Ctx, "PI_ESERVER_HOST", CtxVars.WebSiteDomain);
|
||||||
SetProperty(Ctx, "PI_ESERVER_LOGIN", CtxVars.UserAccount);
|
SetProperty(Ctx, "PI_ESERVER_LOGIN", CtxVars.UserAccount);
|
||||||
SetProperty(Ctx, "PI_ESERVER_PASSWORD", CtxVars.UserPassword);
|
|
||||||
SetProperty(Ctx, "PI_ESERVER_PASSWORD_CONFIRM", CtxVars.UserPassword);
|
|
||||||
SetProperty(Ctx, "PI_ESERVER_DOMAIN", CtxVars.UserDomain);
|
SetProperty(Ctx, "PI_ESERVER_DOMAIN", CtxVars.UserDomain);
|
||||||
SetProperty(Ctx, "SERVERADMIN_PASSWORD", CtxVars.ServerAdminPassword);
|
|
||||||
SetProperty(Ctx, "SERVERADMIN_PASSWORD_CONFIRM", CtxVars.ServerAdminPassword);
|
|
||||||
EServerUrl = string.Format("http://{0}:{1}", CtxVars.WebSiteIP, CtxVars.WebSitePort);
|
EServerUrl = string.Format("http://{0}:{1}", CtxVars.WebSiteIP, CtxVars.WebSitePort);
|
||||||
|
|
||||||
|
SetProperty(Ctx, "PI_ESERVER_INSTALL_DIR", CtxVars.InstallFolder);
|
||||||
|
SetProperty(Ctx, "WSP_INSTALL_DIR", Directory.GetParent(CtxVars.InstallFolder).FullName);
|
||||||
|
|
||||||
|
var ConnStr = new SqlConnectionStringBuilder(CtxVars.DbInstallConnectionString);
|
||||||
|
SetProperty(Ctx, "DB_CONN", ConnStr.ToString());
|
||||||
|
SetProperty(Ctx, "DB_SERVER", ConnStr.DataSource);
|
||||||
|
SetProperty(Ctx, "DB_DATABASE", ConnStr.InitialCatalog);
|
||||||
|
SetProperty(Ctx, "DB_AUTH", ConnStr.IntegratedSecurity ? SQL_AUTH_WINDOWS : SQL_AUTH_SERVER);
|
||||||
|
if (!ConnStr.IntegratedSecurity)
|
||||||
|
{
|
||||||
|
SetProperty(Ctx, "DB_LOGIN", ConnStr.UserID);
|
||||||
|
SetProperty(Ctx, "DB_PASSWORD", ConnStr.Password);
|
||||||
|
}
|
||||||
|
|
||||||
|
var HaveAccount = SecurityUtils.UserExists(CtxVars.UserDomain, CtxVars.UserAccount);
|
||||||
|
bool HavePool = Tool.AppPoolExists(CtxVars.ApplicationPool);
|
||||||
|
|
||||||
|
Ctx["COMPFOUND_ESERVER"] = (HaveAccount && HavePool) ? YesNo.Yes : YesNo.No;
|
||||||
}
|
}
|
||||||
CtxVars.ComponentId = WiXSetup.GetComponentID(CfgStr, Global.WebPortal.ComponentCode);
|
CtxVars.ComponentId = WiXSetup.GetComponentID(CfgPath, Global.WebPortal.ComponentCode);
|
||||||
if (!string.IsNullOrWhiteSpace(CtxVars.ComponentId))
|
if (!string.IsNullOrWhiteSpace(CtxVars.ComponentId))
|
||||||
{
|
{
|
||||||
AppConfig.LoadComponentSettings(CtxVars);
|
AppConfig.LoadComponentSettings(CtxVars);
|
||||||
Ctx["COMPFOUND_PORTAL"] = "1";
|
|
||||||
SetProperty(Ctx, "PI_PORTAL_IP", CtxVars.WebSiteIP);
|
SetProperty(Ctx, "PI_PORTAL_IP", CtxVars.WebSiteIP);
|
||||||
SetProperty(Ctx, "PI_PORTAL_PORT", CtxVars.WebSitePort);
|
SetProperty(Ctx, "PI_PORTAL_PORT", CtxVars.WebSitePort);
|
||||||
SetProperty(Ctx, "PI_PORTAL_HOST", CtxVars.WebSiteDomain);
|
SetProperty(Ctx, "PI_PORTAL_HOST", CtxVars.WebSiteDomain);
|
||||||
SetProperty(Ctx, "PI_PORTAL_LOGIN", CtxVars.UserAccount);
|
SetProperty(Ctx, "PI_PORTAL_LOGIN", CtxVars.UserAccount);
|
||||||
SetProperty(Ctx, "PI_PORTAL_PASSWORD", CtxVars.UserPassword);
|
|
||||||
SetProperty(Ctx, "PI_PORTAL_PASSWORD_CONFIRM", CtxVars.UserPassword);
|
|
||||||
SetProperty(Ctx, "PI_PORTAL_DOMAIN", CtxVars.UserDomain);
|
SetProperty(Ctx, "PI_PORTAL_DOMAIN", CtxVars.UserDomain);
|
||||||
if (!SetProperty(Ctx, "PI_ESERVER_URL", CtxVars.EnterpriseServerURL))
|
if (!SetProperty(Ctx, "PI_ESERVER_URL", CtxVars.EnterpriseServerURL))
|
||||||
if (!SetProperty(Ctx, "PI_ESERVER_URL", EServerUrl))
|
if (!SetProperty(Ctx, "PI_ESERVER_URL", EServerUrl))
|
||||||
SetProperty(Ctx, "PI_ESERVER_URL", Global.WebPortal.DefaultEntServURL);
|
SetProperty(Ctx, "PI_ESERVER_URL", Global.WebPortal.DefaultEntServURL);
|
||||||
|
|
||||||
|
SetProperty(Ctx, "PI_PORTAL_INSTALL_DIR", CtxVars.InstallFolder);
|
||||||
|
SetProperty(Ctx, "WSP_INSTALL_DIR", Directory.GetParent(CtxVars.InstallFolder).FullName);
|
||||||
|
|
||||||
|
var HaveAccount = SecurityUtils.UserExists(CtxVars.UserDomain, CtxVars.UserAccount);
|
||||||
|
bool HavePool = Tool.AppPoolExists(CtxVars.ApplicationPool);
|
||||||
|
|
||||||
|
Ctx["COMPFOUND_PORTAL"] = (HaveAccount && HavePool) ? YesNo.Yes : YesNo.No;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TryApllyNewPassword(Ctx, "PI_SERVER_PASSWORD");
|
TryApllyNewPassword(Ctx, "PI_SERVER_PASSWORD");
|
||||||
|
@ -202,8 +267,8 @@ namespace WebsitePanel.WIXInstaller
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Log.WriteStart("InstallWebFeatures");
|
Log.WriteStart("InstallWebFeatures");
|
||||||
if(Tool.GetIsWebRoleInstalled())
|
if (Tool.GetIsWebRoleInstalled())
|
||||||
{
|
{
|
||||||
if (!Tool.GetIsWebFeaturesInstalled())
|
if (!Tool.GetIsWebFeaturesInstalled())
|
||||||
{
|
{
|
||||||
Log.WriteInfo("InstallWebFeatures: ASP.NET.");
|
Log.WriteInfo("InstallWebFeatures: ASP.NET.");
|
||||||
|
@ -221,12 +286,12 @@ namespace WebsitePanel.WIXInstaller
|
||||||
}
|
}
|
||||||
Log.WriteInfo("InstallWebFeatures: done.");
|
Log.WriteInfo("InstallWebFeatures: done.");
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.WriteError(string.Format("InstallWebFeatures: fail - {0}.", ex.ToString()));
|
Log.WriteError(string.Format("InstallWebFeatures: fail - {0}.", ex.ToString()));
|
||||||
Result = ActionResult.Failure;
|
Result = ActionResult.Failure;
|
||||||
}
|
}
|
||||||
if(!string.IsNullOrWhiteSpace(Msg))
|
if (!string.IsNullOrWhiteSpace(Msg))
|
||||||
Log.WriteInfo(string.Format("InstallWebFeatures Tool Log: {0}.", Msg));
|
Log.WriteInfo(string.Format("InstallWebFeatures Tool Log: {0}.", Msg));
|
||||||
Log.WriteEnd("InstallWebFeatures");
|
Log.WriteEnd("InstallWebFeatures");
|
||||||
return Result;
|
return Result;
|
||||||
|
@ -418,7 +483,7 @@ namespace WebsitePanel.WIXInstaller
|
||||||
foreach (var Db in GetDbList(ConnStr: session["DB_CONN"], ForbiddenNames: SysDb))
|
foreach (var Db in GetDbList(ConnStr: session["DB_CONN"], ForbiddenNames: SysDb))
|
||||||
{
|
{
|
||||||
Ctrl.AddItem(Db);
|
Ctrl.AddItem(Db);
|
||||||
session["DB_SELECT"] = Db; // Adds available DBs to installer log.
|
session["DB_SELECT"] = Db; // Adds available DBs to installer log and selects latest.
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
session["DB_SELECT"] = "";
|
session["DB_SELECT"] = "";
|
||||||
|
@ -427,88 +492,15 @@ namespace WebsitePanel.WIXInstaller
|
||||||
[CustomAction]
|
[CustomAction]
|
||||||
public static ActionResult CheckConnectionUI(Session session)
|
public static ActionResult CheckConnectionUI(Session session)
|
||||||
{
|
{
|
||||||
string ConnStr = session["DB_AUTH"].Equals("Windows Authentication") ? GetConnectionString(session["DB_SERVER"], "master") :
|
string ConnStr = session["DB_AUTH"].Equals(SQL_AUTH_WINDOWS) ? GetConnectionString(session["DB_SERVER"], "master") :
|
||||||
GetConnectionString(session["DB_SERVER"], "master", session["DB_LOGIN"], session["DB_PASSWORD"]);
|
GetConnectionString(session["DB_SERVER"], "master", session["DB_LOGIN"], session["DB_PASSWORD"]);
|
||||||
string msg;
|
string msg;
|
||||||
bool Result = CheckConnection(ConnStr, out msg);
|
bool Result = CheckConnection(ConnStr, out msg);
|
||||||
session["DB_CONN_CORRECT"] = Result ? "1" : "0";
|
session["DB_CONN_CORRECT"] = Result ? YesNo.Yes: YesNo.No;
|
||||||
session["DB_CONN"] = Result ? ConnStr : "";
|
session["DB_CONN"] = Result ? ConnStr : "";
|
||||||
session["DB_CONN_MSG"] = msg;
|
session["DB_CONN_MSG"] = msg;
|
||||||
return ActionResult.Success;
|
return ActionResult.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
[CustomAction]
|
|
||||||
public static ActionResult FinalizeInstall(Session session)
|
|
||||||
{
|
|
||||||
/*var connectionString = GetCustomActionProperty(session, "ConnectionString").Replace(CustomDataDelimiter, ";");
|
|
||||||
var serviceFolder = GetCustomActionProperty(session, "ServiceFolder");
|
|
||||||
var previousConnectionString = GetCustomActionProperty(session, "PreviousConnectionString").Replace(CustomDataDelimiter, ";");
|
|
||||||
var previousCryptoKey = GetCustomActionProperty(session, "PreviousCryptoKey");
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(serviceFolder))
|
|
||||||
{
|
|
||||||
return ActionResult.Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
connectionString = string.IsNullOrEmpty(previousConnectionString)
|
|
||||||
? connectionString
|
|
||||||
: previousConnectionString;
|
|
||||||
|
|
||||||
ChangeConfigString("/configuration/connectionStrings/add[@name='EnterpriseServer']", "connectionString", connectionString, serviceFolder);
|
|
||||||
ChangeConfigString("/configuration/appSettings/add[@key='WebsitePanel.CryptoKey']", "value", previousCryptoKey, serviceFolder);
|
|
||||||
InstallService(serviceFolder);*/
|
|
||||||
|
|
||||||
return ActionResult.Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
[CustomAction]
|
|
||||||
public static ActionResult FinalizeUnInstall(Session session)
|
|
||||||
{
|
|
||||||
// UnInstallService();
|
|
||||||
|
|
||||||
return ActionResult.Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
[CustomAction]
|
|
||||||
public static ActionResult PreInstallationAction(Session session)
|
|
||||||
{
|
|
||||||
session["SKIPCONNECTIONSTRINGSTEP"] = "0";
|
|
||||||
|
|
||||||
session["SERVICEFOLDER"] = session["INSTALLFOLDER"];
|
|
||||||
|
|
||||||
var servicePath = /*SecurityUtils.GetServicePath("WebsitePanel Scheduler")*/"";
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(servicePath))
|
|
||||||
{
|
|
||||||
string path = Path.Combine(servicePath, "WebsitePanel.SchedulerService.exe.config");
|
|
||||||
|
|
||||||
if (File.Exists(path))
|
|
||||||
{
|
|
||||||
using (var reader = new StreamReader(path))
|
|
||||||
{
|
|
||||||
string content = reader.ReadToEnd();
|
|
||||||
var pattern = new Regex(@"(?<=<add key=""WebsitePanel.CryptoKey"" .*?value\s*=\s*"")[^""]+(?="".*?>)");
|
|
||||||
Match match = pattern.Match(content);
|
|
||||||
session["PREVIOUSCRYPTOKEY"] = match.Value;
|
|
||||||
|
|
||||||
var connectionStringPattern = new Regex(@"(?<=<add name=""EnterpriseServer"" .*?connectionString\s*=\s*"")[^""]+(?="".*?>)");
|
|
||||||
match = connectionStringPattern.Match(content);
|
|
||||||
session["PREVIOUSCONNECTIONSTRING"] = match.Value.Replace(";", CustomDataDelimiter);
|
|
||||||
}
|
|
||||||
|
|
||||||
session["SKIPCONNECTIONSTRINGSTEP"] = "1";
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(session["SERVICEFOLDER"]))
|
|
||||||
{
|
|
||||||
session["SERVICEFOLDER"] = servicePath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return ActionResult.Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
[CustomAction]
|
[CustomAction]
|
||||||
public static ActionResult PrereqCheck(Session session)
|
public static ActionResult PrereqCheck(Session session)
|
||||||
{
|
{
|
||||||
|
@ -556,102 +548,14 @@ namespace WebsitePanel.WIXInstaller
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
private static void InstallService(string installFolder)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var schedulerService =
|
|
||||||
ServiceController.GetServices().FirstOrDefault(
|
|
||||||
s => s.DisplayName.Equals("WebsitePanel Scheduler", StringComparison.CurrentCultureIgnoreCase));
|
|
||||||
|
|
||||||
if (schedulerService != null)
|
|
||||||
{
|
|
||||||
StopService(schedulerService.ServiceName);
|
|
||||||
|
|
||||||
SecurityUtils.DeleteService(schedulerService.ServiceName);
|
|
||||||
}
|
|
||||||
|
|
||||||
ManagedInstallerClass.InstallHelper(new[] { "/i", Path.Combine(installFolder, "WebsitePanel.SchedulerService.exe") });
|
|
||||||
|
|
||||||
StartService("WebsitePanel Scheduler");
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void UnInstallService()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var schedulerService =
|
|
||||||
ServiceController.GetServices().FirstOrDefault(
|
|
||||||
s => s.DisplayName.Equals("WebsitePanel Scheduler", StringComparison.CurrentCultureIgnoreCase));
|
|
||||||
|
|
||||||
if (schedulerService != null)
|
|
||||||
{
|
|
||||||
StopService(schedulerService.ServiceName);
|
|
||||||
|
|
||||||
SecurityUtils.DeleteService(schedulerService.ServiceName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void ChangeConfigString(string nodePath, string attrToChange, string value, string installFolder)
|
|
||||||
{
|
|
||||||
string path = Path.Combine(installFolder, "WebsitePanel.SchedulerService.exe.config");
|
|
||||||
|
|
||||||
if (!File.Exists(path))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
XmlDocument xmldoc = new XmlDocument();
|
|
||||||
xmldoc.Load(path);
|
|
||||||
|
|
||||||
XmlElement node = xmldoc.SelectSingleNode(nodePath) as XmlElement;
|
|
||||||
|
|
||||||
if (node != null)
|
|
||||||
{
|
|
||||||
node.SetAttribute(attrToChange, value);
|
|
||||||
|
|
||||||
xmldoc.Save(path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void StopService(string serviceName)
|
|
||||||
{
|
|
||||||
var sc = new ServiceController(serviceName);
|
|
||||||
|
|
||||||
if (sc.Status == ServiceControllerStatus.Running)
|
|
||||||
{
|
|
||||||
sc.Stop();
|
|
||||||
sc.WaitForStatus(ServiceControllerStatus.Stopped);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void StartService(string serviceName)
|
|
||||||
{
|
|
||||||
var sc = new ServiceController(serviceName);
|
|
||||||
|
|
||||||
if (sc.Status == ServiceControllerStatus.Stopped)
|
|
||||||
{
|
|
||||||
sc.Start();
|
|
||||||
sc.WaitForStatus(ServiceControllerStatus.Running);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static string GetConnectionString(string serverName, string databaseName)
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetConnectionString(string serverName, string databaseName, string login, string password)
|
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);
|
||||||
}
|
}
|
||||||
static bool CheckConnection(string ConnStr, out string Info)
|
static bool CheckConnection(string ConnStr, out string Info)
|
||||||
{
|
{
|
||||||
|
@ -671,16 +575,6 @@ namespace WebsitePanel.WIXInstaller
|
||||||
}
|
}
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetCustomActionProperty(Session session, string key)
|
|
||||||
{
|
|
||||||
if (session.CustomActionData.ContainsKey(key))
|
|
||||||
{
|
|
||||||
return session.CustomActionData[key].Replace("-=-", ";");
|
|
||||||
}
|
|
||||||
|
|
||||||
return string.Empty;
|
|
||||||
}
|
|
||||||
private static void AddCheck(ListViewCtrl view, Session session, string PropertyID)
|
private static void AddCheck(ListViewCtrl view, Session session, string PropertyID)
|
||||||
{
|
{
|
||||||
view.AddItem(session[PropertyID] == YesNo.Yes, session[PropertyID + "_TITLE"]);
|
view.AddItem(session[PropertyID] == YesNo.Yes, session[PropertyID + "_TITLE"]);
|
||||||
|
@ -834,15 +728,6 @@ namespace WebsitePanel.WIXInstaller
|
||||||
foreach (var Msg in Msgs)
|
foreach (var Msg in Msgs)
|
||||||
AddTo(Ctx, "CUSTOM_INSTALL_TEXT", Msg); ;
|
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)
|
private static ActionResult ProcessInstall(Session Ctx, WiXInstallType InstallType)
|
||||||
{
|
{
|
||||||
IWiXSetup Install = null;
|
IWiXSetup Install = null;
|
||||||
|
@ -911,6 +796,33 @@ namespace WebsitePanel.WIXInstaller
|
||||||
Log.WriteInfo("New password was applied to " + Id);
|
Log.WriteInfo("New password was applied to " + Id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private static string GetProperty(Session Ctx, string Property)
|
||||||
|
{
|
||||||
|
if (Ctx.CustomActionData.ContainsKey(Property))
|
||||||
|
return Ctx[Property];
|
||||||
|
else
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
private static bool SetProperty(Session CtxSession, string Prop, string Value)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrWhiteSpace(Value))
|
||||||
|
{
|
||||||
|
CtxSession[Prop] = Value;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
private static SetupScript GetPrepareScript(Session Ctx)
|
||||||
|
{
|
||||||
|
var CtxVars = new SetupVariables();
|
||||||
|
WiXSetup.FillFromSession(Ctx.CustomActionData, CtxVars);
|
||||||
|
CtxVars.IISVersion = Tool.GetWebServerVersion();
|
||||||
|
SetupScript Result = new ExpressScript(CtxVars);
|
||||||
|
Result.Actions.Add(new InstallAction(ActionTypes.StopApplicationPool) { SetupVariables = CtxVars });
|
||||||
|
Result.Actions.Add(new InstallAction(ActionTypes.Backup) { SetupVariables = CtxVars });
|
||||||
|
Result.Actions.Add(new InstallAction(ActionTypes.DeleteDirectory) { SetupVariables = CtxVars });
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public static class SessionExtension
|
public static class SessionExtension
|
||||||
{
|
{
|
||||||
|
|
|
@ -366,10 +366,10 @@
|
||||||
<Target Name="WiXCreateRedistFileListBuild" DependsOnTargets="CreateFixDefaultPublicFolderMailboxBuild" >
|
<Target Name="WiXCreateRedistFileListBuild" DependsOnTargets="CreateFixDefaultPublicFolderMailboxBuild" >
|
||||||
<RemoveDir Directories="$(WiXInstallerBuild)\ComponentsFiles" />
|
<RemoveDir Directories="$(WiXInstallerBuild)\ComponentsFiles" />
|
||||||
<MakeDir 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 $(EnterpriseServerBuild) -o $(WiXInstallerBuild)\ComponentsFiles\EnterpriseServerFiles.wxs -gg -sreg -srd -var wix.BUILDESPATH -cg EnterpriseServerFiles -dr PI_ESERVER_INSTALL_DIR' />
|
||||||
<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 $(ServerBuild) -o $(WiXInstallerBuild)\ComponentsFiles\ServerFiles.wxs -gg -sreg -srd -var wix.BUILDSPATH -cg ServerFiles -dr PI_SERVER_INSTALL_DIR' />
|
||||||
<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 $(PortalBuild) -o $(WiXInstallerBuild)\ComponentsFiles\PortalFiles.wxs -gg -sreg -srd -var wix.BUILDPPATH -cg PortalFiles -dr PI_PORTAL_INSTALL_DIR' />
|
||||||
<Exec Command='"$(WIX)bin\heat.exe" dir $(WebDavPortalBuild) -o $(WiXInstallerBuild)\ComponentsFiles\WebDavPortalFiles.wxs -gg -sreg -srd -var wix.BUILDWDPPATH -cg WebDavPortalFiles -dr INSTALLWEBDAVPORTALFOLDER' />
|
<Exec Command='"$(WIX)bin\heat.exe" dir $(WebDavPortalBuild) -o $(WiXInstallerBuild)\ComponentsFiles\WebDavPortalFiles.wxs -gg -sreg -srd -var wix.BUILDWDPPATH -cg WebDavPortalFiles -dr PI_WDPORTAL_INSTALL_DIR' />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="Build" DependsOnTargets="WiXCreateRedistFileListBuild">
|
<Target Name="Build" DependsOnTargets="WiXCreateRedistFileListBuild">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue