Только для получения информации,
можно добавить
-Dcom.sun.management.jmxremote
в файл eclise.ini, затмение запуска и затем контролировать его использование памяти через 'jconsole.exe', найденный в jdk установке.
C:\[jdk1.6.0_0x path]\bin\jconsole.exe
Выбирают 'Соединение / Новое соединение / 'затмение' для контроля памяти, используемой затмением
Я решил эту проблему в трех частях:
1. Определение свойства OSWarningText
Сначала объявите свойство и присвойте ему «неустановленное» значение по умолчанию:
<Property Id="OSWarningText" Value="{}"/>
Чтобы построить фактическое значение свойства, установите промежуточное свойство для каждого возможного предупреждения. Убедитесь, что условия для каждого предупреждения не перекрываются:
<SetProperty Id="OSWarningText1" After="AppSearch"
Value="Detected XP SP [ServicePackLevel]. SP3 or higher is recommended.">
<![CDATA[(VersionNT = 501) AND NOT (ServicePackLevel >= 3)]]>
</SetProperty>
<SetProperty Id="OSWarningText2" After="SetOSWarningText1"
Value="Detected Vista SP [ServicePackLevel]. SP2 or higher is recommended.">
<![CDATA[(VersionNT = 600) AND NOT (ServicePackLevel >= 2)]]>
</SetProperty>
Предполагая, что условия не перекрываются, мы можем безопасно объединить предупреждения в одном свойстве, например:
<SetProperty Id="OSWarningText" After="SetOSWarningText2"
Value="[OSWarningText1][OSWarningText2]" />
2. Создание настраиваемого экрана предупреждения.
Это похоже на пример добавления флажка для ярлыка на рабочем столе . Скопируйте одно из существующих определений диалоговых окон из источников wix , например InstallDirDlg.wxs
, и переименуйте его в WarningDlg.wxs
. Теперь найдите и отредактируйте обработчики событий для кнопки WelcomeDlg next.
Вы можете установить свойства в ответ на нажатие кнопки и дополнительное условие, а также вы можете показать следующий диалог на основе свойства. Мы воспользуемся этим для обработки следующей кнопки WelcomeDlg следующим образом:
Код Wix для этого выглядит следующим образом:
<Publish Dialog="WelcomeDlg" Control="Next"
Property="WelcomeDlg_Next" Value="{}"
Order="1">1</Publish>
<Publish Dialog="WelcomeDlg" Control="Next"
Property="WelcomeDlg_Next" Value="WarningDlg"
Order="2">OSWarningText</Publish>
<Publish Dialog="WelcomeDlg" Control="Next"
Property="WelcomeDlg_Next" Value="LicenseAgreementDlg"
Order="3">NOT OSWarningText</Publish>
<Publish Dialog="WelcomeDlg" Control="Next"
Event="NewDialog" Value="[WelcomeDlg_Next]"
Order="4">WelcomeDlg_Next</Publish>
Затем сделайте то же самое для кнопки «назад» лицензионного соглашения: она должна вернуться к экрану приветствия, если нет предупреждения, или к экран предупреждения.