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
|
#include "StdAfx.h"
#include "InstallerClasseUtile.h"
//CODE A RAJOUTER
#using <System.dll>
#using <System.Configuration.Install.dll>
using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::Configuration::Install;
using namespace System::IO;
// Set 'RunInstaller' attribute to true.
[RunInstaller(true)]
ref class InstallerClasseUtile: public Installer
{
private:
public:
InstallerClasseUtile()
{
}
// Override the 'Install' method.(Action Installer)
[System::Security::Permissions::SecurityPermissionAttribute(
System::Security::Permissions::SecurityAction::Demand)]
virtual void Install( IDictionary^ savedState ) override
{
Installer::Install( savedState );
}
// Override the 'Commit' method.(Action Valider)
[System::Security::Permissions::SecurityPermissionAttribute(
System::Security::Permissions::SecurityAction::Demand)]
virtual void Commit( IDictionary^ savedState ) override
{
Installer::Commit( savedState );
//CE CODE EST IDENTIQUE A CELUI DE C# DEJA COMMUNIQUE
/*System::IO::FileInfo^ cheminFichier = gcnew System::IO::FileInfo(System::Reflection::Assembly::GetExecutingAssembly()->Location);
System::Diagnostics::Process::Start(cheminFichier->DirectoryName + "\\MonExecutableForm.exe");*/
//CE CODE EST UNE ALTERNATIVE PLUS EFFICACE QUE LE PREMIER CAR IL RECUPERE
//LE CHEMIN DE Context->Parameters avec la variable MSI "TARGETDIR"
System::String^ Dossier= this->Context->Parameters["TARGETDIR"];
System::Diagnostics::Process::Start(Dossier + "\\MonExecutableForm.exe");
}
// Override the 'Rollback' method.(Action Restaure)
[System::Security::Permissions::SecurityPermissionAttribute(
System::Security::Permissions::SecurityAction::Demand)]
virtual void Rollback( IDictionary^ savedState ) override
{
Installer::Rollback( savedState );
}
// Override the 'Uninstall' method.(Action DesInstaller)
[System::Security::Permissions::SecurityPermissionAttribute(
System::Security::Permissions::SecurityAction::Demand)]
virtual void Uninstall( IDictionary^ savedState ) override
{
Installer::Uninstall( savedState );
}
}; |
Partager