Имам проблем с моя WiX инсталатор в контакт с отложени/незабавни персонализирани действия. Моля, извинете моя английски.
Искам да предам някои свойства, въведени от потребителя, на отложено персонализирано действие. Знам, че имам нужда от незабавно персонализирано действие и „CustomActionData“, за да направя това. Прилагам го по този начин.
двоичният файл:
<Binary Id='myAction' SourceFile='.\TemplateGeneration.CA.dll'/>
Незабавното персонализирано действие:
<CustomAction Id='Datenuebergabe' Property='DoSomething' Value='InstalllocVar=[INSTALLLOCATION]'/>
Отложеното персонализирано действие:
<CustomAction Id='TemplateGenerationInstallKey' BinaryKey ='myAction' DllEntry='DoSomething' Impersonate='no' Execute='deferred' Return='check' HideTarget='yes'/>
InstallExecuteSequence
<InstallExecuteSequence>
<Custom Action="Datenuebergabe" Sequence="1399"/>
<Custom Action="TemplateGenerationInstallKey" Before="InstallFinalize"/>
</InstallExecuteSequence>
Извикване на свойството в отложеното персонализирано действие:
string somedata = session.CustomActionData["InstalllocVar"];
TemplateEngineCall(somedata+"templates", "install_key_cmd", somedata+"scripts", "install_key.cmd");
Моите проблеми: Ако се опитам да инсталирам моята програма, тя се поврежда. С този код мога да предам само едно свойство, но трябва да ангажирам повече от едно.
За информация: Когато погледна регистрационния файл, има System.Collections.Generic.KeyNotFoundException, докато извикването на персонализирано действие.
Защо това не работи? Е, имам нужда от отложеното персонализирано действие, за да запиша в "папката с програмни файлове". Поради необходимите права се изисква отложеното персонализирано действие и незабавното персонализирано действие, изпълнено преди отложеното, трябва да помогне за обработката на свойствата. Възможно ли е да се направи това?
Надявам се, че разбирате какви са проблемите ми и е възможно да се опитате да ми помогнете.