ancora una volta sono bloccato a un problema, che è probabilmente facile da risolvere.
Desidero estendere una configurazione, creata con WiX, per apportare modifiche al file di configurazione del programma installato. Per fare questo ho creato un CustomAction. Per poter modificare il file di configurazione, è necessario conoscere la posizione (installazione) all'interno della mia CustomAction. Pertanto provo a passare il INSTALLLOCATION e il nome del file al mio CustomAction. Qui sta il problema: CustomActionData -Attribute è sempre vuoto e l'installazione genera un'eccezione.WiX CustomActionData è vuoto in CustomAction
My CustomAction è un file DLL C#: DemoDatumErzeugen.CA.dll
. Contiene un metodo DatumEintragen
che modifica il file di configurazione. Sto cercando di accedere ai dati in questo modo:
string path = session.CustomActionData["LOCATION"];
Qui è dove viene generata l'eccezione. Ho solo ricevuto il messaggio di errore tedesco, ma dice qualcosa in linea: The supplied key was not found in the dictionary
(Der angegebene Schlüssel war nicht im Wörterbuch angegeben.
).
Questo è quanto ho Prova a passare le proprietà del mio setup-script per la mia azione personalizzata:
<Binary Id="DemoDatumEinrichtenCA" SourceFile="DemoDatumErzeugen.CA.dll"/>
<CustomAction Id="DemoDatum.SetProperty" Return="check" Property="DatumEintragen" Value="LOCATION=[INSTALLLOCATION];NAME=StrategieplanConfig.xml;"/>
<CustomAction Id="DemoDatum" BinaryKey="DemoDatumEinrichtenCA" DllEntry="DatumEintragen" Execute="deferred" Return="check" HideTarget="no"/>
<InstallExecuteSequence>
<Custom Action="DemoDatum.SetProperty" After="InstallFiles"/>
<Custom Action="DemoDatum" After="DemoDatum.SetProperty"/>
</InstallExecuteSequence>
Ho visto molti esempi in cui è stato fatto allo stesso modo, o almeno molto simili. Ho provato molte cose, ma nulla sembra aiutare come cambiare il valore Dopo in <Custom Action="DemoDatum.SetProperty" After="InstallFiles"/>
. CustomActionData è sempre zero.
Lo controllo con: session.CustomActionData.Count
Ancora una volta sono abbastanza grato per qualsiasi aiuto o suggerimento in cui ho fatto qualcosa di sbagliato.
Infatti! Era così. Grazie mille. È facile da trascurare. – Skalli
@Yan Sklyarenko Sto affrontando un problema durante l'installazione del mio .exe creato usando l'applicazione bootstraper. Per favore guarda in questo SO e aiutami http://stackoverflow.com/questions/27151665/error-0x80070643-fatal-error -Durante-installazione-Wix – user2725407