una vez más estoy atascado en un problema, que probablemente sea fácil de resolver.
Quiero extender una configuración, creada con WiX, para realizar cambios en el archivo de configuración del programa instalado. Para hacer esto, he creado CustomAction. Para poder cambiar el archivo de configuración, necesito saber su ubicación (de instalación) dentro de mi CustomAction. Por lo tanto, intento pasar el INSTALLLOCATION y el nombre de archivo a mi CustomAction. Aquí radica el problema: CustomActionData -El atributo siempre está vacío y la configuración arroja una excepción.WiX CustomActionData está vacío en la llamada CustomAction
Mi CustomAction es un archivo DLL de C#: DemoDatumErzeugen.CA.dll
. Contiene un método DatumEintragen
que modifica el archivo de configuración. Estoy tratando de acceder a los datos de esta manera:
string path = session.CustomActionData["LOCATION"];
Aquí es donde se produce la excepción. Solo recibí el mensaje de error alemán, pero dice algo parecido a: The supplied key was not found in the dictionary
(Der angegebene Schlüssel war nicht im Wörterbuch angegeben.
).
Esta es la forma en que trato de pasar las propiedades de mi configuración-script para mi acción personalizada:
<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>
que he visto muchos ejemplos en los que se realizó de la misma manera o al menos muy similares. He intentado muchas cosas, pero nada parece ayudar como cambiar el valor después en <Custom Action="DemoDatum.SetProperty" After="InstallFiles"/>
. CustomActionData siempre es cero.
Lo compruebo con: session.CustomActionData.Count
Una vez más, estoy muy agradecido por cualquier ayuda o sugerencias en las que he hecho algo mal.
¡De hecho! Eso fue todo. Muchas gracias. Es fácil pasar por alto. – Skalli
@Yan Sklyarenko Estoy enfrentando un problema durante la instalación de mi .exe creado usando la aplicación bootstraper. ¿Puede mirar este SO y ayudarme a http://stackoverflow.com/questions/27151665/error-0x80070643-fatal-error -during-installation-wix – user2725407