protected virtual void Uninstall(bool silent, Dictionary<string, string> args)
{
// check the configuration.
string filePath = Utils.GetAbsoluteFilePath(InstallConfig.ConfigurationFile, true, false, false);
if (filePath == null)
{
Utils.Trace("WARNING: Could not load config file specified in the installation configuration: {0}", InstallConfig.ConfigurationFile);
filePath = ApplicationConfiguration.GetFilePathFromAppConfig(ConfigSectionName);
InstallConfig.ConfigurationFile = filePath;
}
ApplicationConfiguration configuration = LoadAppConfig(silent, filePath, Opc.Ua.Security.SecuredApplication.FromApplicationType(InstallConfig.ApplicationType), ConfigurationType, false);
ApplicationConfiguration = configuration;
if (configuration != null)
{
// configure the firewall.
ConfigureFirewall(configuration, false, true);
// configure HTTP access.
ConfigureHttpAccess(configuration, true);
// delete certificate.
if (InstallConfig.DeleteCertificatesOnUninstall)
{
DeleteApplicationInstanceCertificate(configuration);
}
}
if (InstallConfig.InstallAsService)
{
if (!Opc.Ua.Configuration.ServiceInstaller.UnInstallService(InstallConfig.ApplicationName))
{
Utils.Trace("Service could not be uninstalled.");
}
}
if (!NoGdsAgentAdmin)
{
try
{
string agentPath = Utils.GetAbsoluteDirectoryPath("%CommonApplicationData%\\OPC Foundation\\GDS\\Applications", false, false, false);
if (agentPath != null)
{
File.Delete(agentPath + "\\" + configuration.ApplicationName + ".xml");
}
}
catch (Exception e)
{
Utils.Trace(Utils.TraceMasks.Error, "Could not create GDS agent configuration file: {0}", e.Message);
}
}
}