1 pièce(s) jointe(s)
[C#] Installer, problème .installstate
Bonjour à tous,
j'ai une soucis de déploiement d'une application dotnet.
J'ai une classe personnalisée dans une dll :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| [RunInstaller(true)]
public partial class CustomInstaller : Installer
{
public CustomInstaller()
{
InitializeComponent();
}
public override void Uninstall(System.Collections.IDictionary savedState)
{
base.Uninstall(savedState);
try
{
SetupDataBase SetupDb = new SetupDataBase();
SetupDb.DropDatabase();
}
catch (Exception E)
{
throw new ApplicationException(E.Message);
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
FrmLog log = null; ;
try
{
String Path = this.Context.Parameters["assemblypath"];
Path = Path.Substring(0, Path.LastIndexOf(System.IO.Path.DirectorySeparatorChar));
log = new FrmLog(Path);
log.Show();
SetupDataBase SetupDb = new SetupDataBase();
// Database name
SetupDb.DatabaseName = Context.Parameters["DatabaseName"];
log.WriteLine("Database Name : " + SetupDb.DatabaseName);
// Backup file
SetupDb.MdfFileName = Context.Parameters["MdfFile"];
log.WriteLine("Mdf File Name : " + SetupDb.MdfFileName);
SetupDb.LdfFileName = Context.Parameters["LdfFile"];
log.WriteLine("Ldf File Name : " + SetupDb.LdfFileName);
// Application file
SetupDb.AppConfigFileName1 = Context.Parameters["ConfigFile1"];
log.WriteLine("XXXXXX.exe Configuration File : " + SetupDb.AppConfigFileName1);
SetupDb.AppConfigFileName2 = Context.Parameters["ConfigFile2"];
log.WriteLine("XXXXXX.dll Configuration File : " + SetupDb.AppConfigFileName2);
// Application file
SetupDb.InstallDirectory = Path;
log.WriteLine("Application Install Directory : " + SetupDb.InstallDirectory);
SetupDb.CreateDatabase(log);
}
catch (Exception e)
{
log.WriteLine("Data base creation failed:");
log.WriteLine(e.Message);
throw new ApplicationException(
"Database creation fault: \n" + e.Message);
}
finally
{
Thread.Sleep(2 * 1000);
log.Close();
log.Release();
}
} |
Dans mon projet de déploiement, c'est dll est ajoutée.
L'installation se déroule bien mais à la fin quand la méthode Install de la classe ci-dessus est installer, j'ai l'erreur suivante (Voir image jointe)
Le problème est que le fichier qu'il ne trouve pas est test.installstate (non_de_la_dll.installstate) alors que le .installstate présent dans le répertoire est nom_du_projet_de_déploiement.installstate
Savez-vous comment puis-je régler cela ?
Merci d'avance.
Cordialement,
NeoKript