Я хочу отобразить Предварительные требования установлены или нет в диалоговом окне пользовательского интерфейса. IIS, установленный с включенной функцией ASP.NET, является одним из предварительных условий для установки моей установки.Состояние не работает должным образом в Setproperty
Я установил изображение (щелчок правой кнопкой мыши или неправильный щелчок) в свойстве, основанном на условии.
<Property Id="ASPNETENABLED">
<RegistrySearch Id="IIS_ASPNET_RegKey" Root="HKLM" Type="raw" Key="SOFTWARE\Microsoft\InetStp\Components" Name="ASPNET" />
</Property>
<Property Id="IISico" Value="RightClick" />
<SetProperty Id="IISico" Value="WrongClick" After="CostFinalize"><![CDATA[Installed OR ASPNETENABLED OR (IISMAJORVERSION AND (IISMAJORVERSION = "#6" OR IISMAJORVERSION = "#7"))]]></SetProperty>
<Control Type="Bitmap" Id="IISico" Width="35" Height="17" X="154" Y="105" Text="[IISico]" />
Состояние заданного состояния работает нормально, как и ожидалось, без свойства ASPNETENABLED. Но он всегда терпит неудачу и показывает, что ASP.NET не включен. Я проверил журнал, он показывает, что свойство ASPNETENABLED задано при запуске действия AppSearch.
Action start 18:47:31: AppSearch.
AppSearch: Property: ASPNETENABLED, Signature: IIS_ASPNET_RegKey
MSI (c) (90:E4) [18:47:31:927]: PROPERTY CHANGE: Adding ASPNETENABLED property. Its value is '#1'.
Но свойство IISico работает, когда после параметра CostFinalize, и оно отображается, как показано ниже в журналах.
Action 18:47:31: SetIISico.
Action start 18:47:31: SetIISico.
MSI (c) (90:E4) [18:47:31:930]: PROPERTY CHANGE: Modifying IISico property. Its current value is 'RightClick'. Its new value: 'WrongClick'.
Action ended 18:47:31: SetIISico. Return value 1.
Я не могу найти основную причину проблемы. Не могли бы вы помочь мне решить эту проблему? Есть ли другой способ показать, что предварительное условие установлено или нет? Спасибо заранее.
Спасибо, Роб. Вы спасли мою жизнь. – Vinoth