У меня есть пользовательское действие Я определил для моего установщика.Кажется, что установщик не работает.
Вот строки в файле WXS, которые определяют настраиваемое действие:
<CustomAction Id="GetConfigProperties" BinaryKey="GetPropertiesDLL" DllEntry="GetPropertiesFromConfigFile" />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="NewerVersionDetected" After="FindRelatedProducts">NEWERVERSIONDETECTED</Custom>
<Custom Action="GetConfigProperties" After="FindRelatedProducts"></Custom>
. . .
</InstallExecuteSequence>
<Binary Id="GetPropertiesDLL" SourceFile="$(var.LPRCore Installer CBP Helper.TargetDir)\LPRCore Installer CBP Helper.CA.dll" />
Я проверил MSI с Orca и соответствующие записинаходятся в таблицах MSI.
Вот выдержка из кода в файле CustomActions.cs
:
[CustomAction]
public static ActionResult GetPropertiesFromConfigFile(Session session) {
// Output a start message to the install log
session.Log( "Begin GetPropertiesFromConfigFile" );
. . .
return ActionResult.Success;
}
Есть несколько других операторов session.Log
в коде в местах, где яхотел посмотреть, что происходит.
Теперь у меня включено ведение журнала.Когда я просматриваю файл журнала в Блокноте, я не вижу сообщений от моих звонков на session.Log
.Я также не вижу ссылок на GetConfigProperties
.Похоже, что пользовательское действие вообще не выполняется.Что я сделал не так?