Ik probeer een al een hele tijd een installatie te maken van mijn solution. Deze solution levert 6 dll's op. Deze dll's zijn plug-ins voor een andere applicatie.
Het gaat hier om 5 plug-ins. De 6de dll is eentje met gemeenschappelijke code ('CustomTools').
Het probleem is het volgende:
Ik weet niet zeker in welke folder de applicatie is geïnstalleerd. De applicatie zet een reg-key met de installatiepad. Die moet ik dus uitlezen, vervolgens kan ik dan de dll's naar de juiste folder kopieren: appFolder\plugins\subdir.
Ik moet dus de targetdir aanpassen.
Ik heb al een standaard deployment project toegevoegd. Die werkt ook prima, alleen daar moet ik op design-time al de installatiefolder opgeven: [ProgramFilesFolder]\appFolder\Plugins\subdir.
Ik heb ook een extra klasse aangemaakt van het type 'Installer class'. Deze klasse heb ik aan mijn 'CustomTools' project toegevoegd.
In deze klasse lees ik de regkey uit en wil ik de targetdir zetten.
Ik kan nergens vinden hoe ik in die nieuwe klasse de targetdir kan zetten.
Verder wordt er in de klasse een logfile gemaakt, maar die zie ik na de installatie niet terug. Het lijkt er dus op dat de klasse niet wordt gebruikt.
Eerst maar eens wat code:
Moet ik nog ergens aan mijn installer aangeven dat hij bovenstaande klasse moet gebruiken?
En hoe zet ik de targetdir?
Alvast bedankt.
Paul
Het gaat hier om 5 plug-ins. De 6de dll is eentje met gemeenschappelijke code ('CustomTools').
Het probleem is het volgende:
Ik weet niet zeker in welke folder de applicatie is geïnstalleerd. De applicatie zet een reg-key met de installatiepad. Die moet ik dus uitlezen, vervolgens kan ik dan de dll's naar de juiste folder kopieren: appFolder\plugins\subdir.
Ik moet dus de targetdir aanpassen.
Ik heb al een standaard deployment project toegevoegd. Die werkt ook prima, alleen daar moet ik op design-time al de installatiefolder opgeven: [ProgramFilesFolder]\appFolder\Plugins\subdir.
Ik heb ook een extra klasse aangemaakt van het type 'Installer class'. Deze klasse heb ik aan mijn 'CustomTools' project toegevoegd.
In deze klasse lees ik de regkey uit en wil ik de targetdir zetten.
Ik kan nergens vinden hoe ik in die nieuwe klasse de targetdir kan zetten.
Verder wordt er in de klasse een logfile gemaakt, maar die zie ik na de installatie niet terug. Het lijkt er dus op dat de klasse niet wordt gebruikt.
Eerst maar eens wat code:
C#:
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
| [RunInstaller(true)] public partial class MyInstaller : Installer { // From: http://msdn.microsoft.com/en-us/library/system.configuration.install.installer.aspx public MyInstaller() : base() { InitializeComponent(); try { string logfilename = @"c:\install.log"; Logger.StartToFile(logfilename, false, false, false); Logger.TimeStamping = true; Logger.Dbg("Start of installer"); // Attach the 'Committed' event. this.Committed += new InstallEventHandler(MyInstaller_Committed); // Attach the 'Committing' event. this.Committing += new InstallEventHandler(MyInstaller_Committing); Logger.Dbg("Events attached"); //read install path: string installPath = readInstallPath(); Logger.Dbg("Using installPath: " + installPath); //Use installPath //???????? TARGETDIR= ?????????? } catch (Exception ex) { Logger.Dbg("Major error: " + ex.ToString()); Logger.Flush(); } } |
Moet ik nog ergens aan mijn installer aangeven dat hij bovenstaande klasse moet gebruiken?
En hoe zet ik de targetdir?
Alvast bedankt.
Paul