Fixing deploy issue
This commit is contained in:
parent
8d9e46969a
commit
ec1ad64b9d
2 changed files with 64 additions and 4 deletions
|
@ -33,6 +33,7 @@ using System.Linq;
|
||||||
using System.ServiceProcess;
|
using System.ServiceProcess;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
namespace WebsitePanel.Setup.Actions
|
namespace WebsitePanel.Setup.Actions
|
||||||
|
@ -444,6 +445,66 @@ namespace WebsitePanel.Setup.Actions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class SaveSchedulerServiceCryptoKeyAction : Action, IInstallAction
|
||||||
|
{
|
||||||
|
void IInstallAction.Run(SetupVariables vars)
|
||||||
|
{
|
||||||
|
Log.WriteStart(string.Format("Updating {0}.config file (crypto key)", Global.Parameters.SchedulerServiceFileName));
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
UpdateCryptoKey(vars.InstallationFolder);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.WriteEnd(string.Format("Updated {0}.config file (connection string)", Global.Parameters.SchedulerServiceFileName));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void UpdateCryptoKey(string installFolder)
|
||||||
|
{
|
||||||
|
string path = Path.Combine(installFolder, "web.config");
|
||||||
|
string cryptoKey = "0123456789";
|
||||||
|
|
||||||
|
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);
|
||||||
|
cryptoKey = match.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ChangeConfigString("installer.cryptokey", cryptoKey, installFolder);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ChangeConfigString(string searchString, string replaceValue, string installFolder)
|
||||||
|
{
|
||||||
|
string path = Path.Combine(installFolder, "bin", string.Format("{0}.config", Global.Parameters.SchedulerServiceFileName));
|
||||||
|
|
||||||
|
if (File.Exists(path))
|
||||||
|
{
|
||||||
|
string content;
|
||||||
|
|
||||||
|
using (var reader = new StreamReader(path))
|
||||||
|
{
|
||||||
|
content = reader.ReadToEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
var re = new Regex("\\$\\{" + searchString + "\\}+", RegexOptions.IgnoreCase);
|
||||||
|
content = re.Replace(content, replaceValue);
|
||||||
|
|
||||||
|
using (var writer = new StreamWriter(path))
|
||||||
|
{
|
||||||
|
writer.Write(content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class SaveEntServerConfigSettingsAction : Action, IInstallAction
|
public class SaveEntServerConfigSettingsAction : Action, IInstallAction
|
||||||
{
|
{
|
||||||
void IInstallAction.Run(SetupVariables vars)
|
void IInstallAction.Run(SetupVariables vars)
|
||||||
|
@ -488,6 +549,7 @@ namespace WebsitePanel.Setup.Actions
|
||||||
new SaveComponentConfigSettingsAction(),
|
new SaveComponentConfigSettingsAction(),
|
||||||
new SaveEntServerConfigSettingsAction(),
|
new SaveEntServerConfigSettingsAction(),
|
||||||
new SaveSchedulerServiceConnectionStringAction(),
|
new SaveSchedulerServiceConnectionStringAction(),
|
||||||
|
new SaveSchedulerServiceCryptoKeyAction(),
|
||||||
new InstallSchedulerServiceAction()
|
new InstallSchedulerServiceAction()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -308,9 +308,6 @@
|
||||||
ItemName="WebsitePanelInstallerMsi" />
|
ItemName="WebsitePanelInstallerMsi" />
|
||||||
</MSBuild>
|
</MSBuild>
|
||||||
|
|
||||||
<XmlUpdate XmlFileName="$(RootFolder)\WebsitePanel\Sources\WebsitePanel.SchedulerService\Bin\WebsitePanel.SchedulerService.exe.config" Xpath="//configuration/connectionStrings/add/@connectionString" Value="${installer.connectionstring}" />
|
|
||||||
<XmlUpdate XmlFileName="$(RootFolder)\WebsitePanel\Sources\WebsitePanel.SchedulerService\Bin\WebsitePanel.SchedulerService.exe.config" Xpath="//configuration/appSettings/add[@key=%22WebsitePanel.CryptoKey%22]/@value" Value="${installer.cryptokey}" />
|
|
||||||
|
|
||||||
<MSBuild Projects="$(RootFolder)\WebsitePanel.Installer\Sources\WebsitePanel.SchedulerServiceInstaller\WebsitePanel.SchedulerServiceInstaller.csproj" Properties="Configuration=$(BuildConfiguration);DefineSolutionProperties=false"/>
|
<MSBuild Projects="$(RootFolder)\WebsitePanel.Installer\Sources\WebsitePanel.SchedulerServiceInstaller\WebsitePanel.SchedulerServiceInstaller.csproj" Properties="Configuration=$(BuildConfiguration);DefineSolutionProperties=false"/>
|
||||||
|
|
||||||
<MSBuild Projects="$(RootFolder)\WebsitePanel.Installer\Sources\Setup.SchedulerService\Setup.SchedulerService.wixproj" Properties="Configuration=$(BuildConfiguration);DefineSolutionProperties=false">
|
<MSBuild Projects="$(RootFolder)\WebsitePanel.Installer\Sources\Setup.SchedulerService\Setup.SchedulerService.wixproj" Properties="Configuration=$(BuildConfiguration);DefineSolutionProperties=false">
|
||||||
|
@ -378,6 +375,7 @@
|
||||||
<Copy SourceFiles="@(EnterpriseServerDeployFiles)" DestinationFolder="$(EnterpriseServerInstall)\%(RecursiveDir)" />
|
<Copy SourceFiles="@(EnterpriseServerDeployFiles)" DestinationFolder="$(EnterpriseServerInstall)\%(RecursiveDir)" />
|
||||||
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\web.config" Xpath="//configuration/connectionStrings/add/@connectionString" Value="${installer.connectionstring}" />
|
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\web.config" Xpath="//configuration/connectionStrings/add/@connectionString" Value="${installer.connectionstring}" />
|
||||||
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\bin\WebsitePanel.SchedulerService.exe.config" Xpath="//configuration/connectionStrings/add/@connectionString" Value="${installer.connectionstring}" />
|
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\bin\WebsitePanel.SchedulerService.exe.config" Xpath="//configuration/connectionStrings/add/@connectionString" Value="${installer.connectionstring}" />
|
||||||
|
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\bin\WebsitePanel.SchedulerService.exe.config" Xpath="//configuration/appSettings/add[@key=%22WebsitePanel.CryptoKey%22]/@value" Value="${installer.cryptokey}" />
|
||||||
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\web.config" Xpath="//configuration/appSettings/add[@key=%22WebsitePanel.CryptoKey%22]/@value" Value="${installer.cryptokey}" />
|
<XmlUpdate XmlFileName="$(EnterpriseServerInstall)\web.config" Xpath="//configuration/appSettings/add[@key=%22WebsitePanel.CryptoKey%22]/@value" Value="${installer.cryptokey}" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue