Avec le programme d'installation avancé, j'essaie d'effectuer une action personnalisée qui, lors de l'installation, crypte la chaîne de connexion. J'ai l'impression que je ne peux pas utiliser "~" ici. (J'ai déplacé mon code de travail du projet MVC, ici).Comment chiffrer votre chaîne de connexion dans Advanced Installer (13.3) Action personnalisée
Existe-t-il une alternative simple à cette ligne ou suis-je obligé de faire une réécriture complète et d'utiliser par ex. une solution qui utilise somekind Stream (comme celui-ci Modifying Web.Config During Installation
Exception lancée par action personnalisée: System.Reflection.TargetInvocationException: Exception a été levée par la cible d'un appel ---> System.ArgumentException:. l'application par rapport chemin virtuel '~' est pas autorisée ici
action personnalisée.
[CustomAction]
public static ActionResult EncryptConnStr(Session session)
{
try
{
var config = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)config.GetSection("connectionStrings");
var cms = section.ConnectionStrings[GetConnectionStringName()];
var connStr = BuildConnStr(session["CONN_STR_SERVER"], session["CONN_STR_DATABASE"], session["CONN_STR_USERNAME"], session["CONN_STR_PASSWORD"]);
if (cms == null)
{
// Add new Connection String
section.ConnectionStrings.Add(new ConnectionStringSettings(GetConnectionStringName(), connStr));
}
else
{
// Update existing Connection String
cms.ConnectionString = connStr;
}
// Encrypt
section.SectionInformation.ProtectSection(ConnStrEncryptionKey);
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
return ActionResult.Success;
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace, ex.Message);
throw;
}
}
Jetez un oeil à https://solutiondesign.com/blog/-/blogs/a-simple-trick-to-centralize-your-net-configurati-1/ – Ravikumar