Как выбрать функции из командной строки

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
31
задан Tim Cooper 24 June 2019 в 16:44
поделиться

3 ответа

Я изменил бы Feature1, Feature2 и Feature3 к Компонентам, затем объявлю что-то вроде этого:

<Feature Id="FEATUREA" Title="Super" Level="1" >
  <ComponentRef Id="Component1" />
  <ComponentRef Id="Component2" />
</Feature>

<Feature Id="FEATUREB" Title="Super1" Level="1" >
  <ComponentRef Id="Component1" />
  <ComponentRef Id="Component3"/>
</Feature>

Затем для Установки или FeatureA или FeatureB

msiexec /i install.msi ADDLOCAL=[FEATUREA | FEATUREB]
31
ответ дан 27 November 2019 в 21:36
поделиться

Принятый ответ уже упоминает свойство ADDLOCAL, но, кажется, подразумевает, что можно выбрать только одну функцию. Можно на самом деле выбрать несколько функций путем разделения их запятыми как это:

msiexec /i install.msi ADDLOCAL=Feature1,Feature2

или

msiexec /i install.msi ADDLOCAL=Feature2,Feature3

Другая подсказка: можно обнаружить эти имена функции путем открытия msi с косатка . Это очень полезно, когда Вы хотите использовать эти приемы для создания bootstrapper, который устанавливает определенные функции сторонних msi пакетов.

51
ответ дан 27 November 2019 в 21:36
поделиться

Существует много свойств, которые могут управлять состояниями установки Функций. Проверьте эту документацию SDK MSI и ссылки от нее: http://msdn.microsoft.com/en-us/library/aa367536 (По сравнению с 85) .aspx

10
ответ дан 27 November 2019 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: