Свойства CustomAction и MSI игнорируются при развертывании через Intune
У меня есть странный сценарий, где у меня есть приложение C# для Windows Forms и проект установки, который создает MSI в VS 2015.
В проекте Windows Forms я правильно создал и настроил InstallerClass.cs, в проекте установки я настроил действие по установке и установил для Custom ActionData значение: /CODE="[CODE]" /GROUP="[GROUP]", а для свойства InstallerClass установлено значение true.
И при запуске установщика в командной строке с: "msiexec /i /qb myapp.msi /COMPANYCODE=12345 /GROUP=Test" он работает отлично, я могу в функции Install InstallerClass получить свойства COMPANYCODE и GROUP, и они заполнены 12345 и Test. А затем в функции установщика я могу использовать эти значения и выполнять настраиваемые действия по мере необходимости (в этом случае запишите его для последующего использования).
НО, когда я развертываю MSI через Microsoft Intune, аргументы ПОЛНОСТЬЮ игнорируются и не имеют значения в функции Install InstallClass... У вас есть какие-либо советы по этому поводу?
Я вижу таблицу Custom Action в MSI при открытии с Orca: Изображение представления таблицы Orca Большое спасибо заранее!
С наилучшими пожеланиями, Ричард
2 ответа
Проверьте подробный журнал, чтобы быть уверенным, и знайте, что я беру удар в темноте, потому что я не знаком с тем, как Intune запускает вещи, но я предполагаю, что вы не отметили свойства CODE
а также GROUP
как Secure="yes"
(или, может быть COMPANYCODE
; ваш вопрос противоречит этим). Если свойство небезопасно, определенные сценарии будут запрещать передачу его в последовательность выполнения. См. Свойство SecureCustomProperties для информации Microsoft об этом.
Вероятно, проблема заключается в том, что значения свойств не передаются в исполняющую часть установки, поскольку они не помечены как безопасные.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa371571(v=vs.85).aspx
Это не поддерживается в настройках Visual Studio, поэтому вам нужно отредактировать файл MSI с помощью чего-то вроде Orca. Перейдите в таблицу свойств и посмотрите SecureCustomProperties, который, вероятно, будет:
SecureCustomProperties ПРЕДВАРИТЕЛЬНЫЕ ВЕРСИИ УСТАНОВЛЕНЫ;
и вам нужно будет добавить CODE и GROUP, разделенные точкой с запятой.