with visual tutorial toolset studio msi how create c# wix wix3.5 custom-action

c# - tutorial - wix visual studio 2012



WiX CustomActionData está vacío en CustomAction llamado (1)

El valor del atributo de Property de DemoDatum.SetProperty debe ser igual al valor del atributo Id de la acción diferida. Por lo tanto, cambie el nombre de la propiedad a DemoDatum o cambie el Id de la acción diferida a DatumEintragen .

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 una acción personalizada . Para poder cambiar el archivo de configuración, necesito saber su ubicación (de instalación) dentro de mi CustomAction . Por lo tanto, trato de pasar la INSTALACIÓN y el nombre de archivo a mi CustomAction . Aquí radica el problema: CustomActionData -Attribute siempre está vacío y la configuración arroja una excepción.

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 lanza la excepción. Solo recibí el mensaje de error alemán, pero dice algo parecido a lo siguiente: The supplied key was not found in the dictionary ( Der angegebene Schlüssel war nicht im Wörterbuch angegeben. ).

Así es como trato de pasar las propiedades de mi script de configuración a 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>

He visto muchos ejemplos donde se hizo de la misma manera o al menos muy similar. He intentado muchas cosas, pero nada parece ayudar, como cambiar el valor After in <Custom Action="DemoDatum.SetProperty" After="InstallFiles"/> . CustomActionData siempre es cero.
Lo verifico con: session.CustomActionData.Count
Una vez más, estoy muy agradecido por cualquier ayuda o sugerencias en las que he hecho algo mal.