none
ошибка при развертывании приложения 0x87D00324(-2016410844) RRS feed

  • Вопрос

  • устанавливаю приложение - сценарий BAT (распаковка архива в папку %userprofile%\ПАПКА111)
    я указываю в методе обнаружения папку. путь %userprofile%. имя папки ПАПКА111
    сценарий отрабатывает, приложение развертывается, но выдается ошибка проверки установки

    если я разверну как пакет, то ошибка не появляется. но мне интересно развернуть как приложение

Ответы

  • я развертываю на группу пользователей.

    как быть тогда? сделать папку в корне c:\ ?

    режим установки на пользователя. только после входа пользователя



    В этом случае вам надо использовать скрипт в detection method, например PS:
    Test-Path (Join-Path $env:USERPROFILE 'ПАПКА111')
    Подробнее можно почитать например здесь: SCCM; Applications; Detection Method; User Environment variables;

    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    • Помечено в качестве ответа aalyam 4 мая 2018 г. 11:43
    Модератор
  • я прописал по вашему совету, но почему-то сейчас установка не производится, а в мониторинге пишется, что развертывание успешно. нужной директории в профиле пользователя нет.

    Да, мой косяк...

    Поменяйте на:

    if (Test-Path (Join-Path $env:USERPROFILE 'ПАПКА111')) {$true}


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    • Помечено в качестве ответа aalyam 4 мая 2018 г. 20:15
    Модератор

Все ответы

  • %userprofile% для system от которого запущен агент это будет c:\users\system\

    вы точно именно это делаете (хотите сделать)?


    The opinion expressed by me is not an official position of Microsoft



    Модератор
  • День добрый.

    На кого распространяете приложение? На пользователей или устройства?

    В приложении, в Deployment Type, на вкладке User Experince, что в Installation behavior?


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор
  • я развертываю на группу пользователей.

    как быть тогда? сделать папку в корне c:\ ?

    режим установки на пользователя. только после входа пользователя



    • Изменено aalyam 4 мая 2018 г. 10:45
  • я развертываю на группу пользователей.

    как быть тогда? сделать папку в корне c:\ ?

    режим установки на пользователя. только после входа пользователя



    В этом случае вам надо использовать скрипт в detection method, например PS:
    Test-Path (Join-Path $env:USERPROFILE 'ПАПКА111')
    Подробнее можно почитать например здесь: SCCM; Applications; Detection Method; User Environment variables;

    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    • Помечено в качестве ответа aalyam 4 мая 2018 г. 11:43
    Модератор
  • не совсем уяснил в какое поле вписать этот скрипт?
  • не совсем уяснил в какое поле вписать этот скрипт?
    Deployment Type / вкладка Detection Method / внизу: Use a custom script....

    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram


    Модератор
  • я прописал по вашему совету, но почему-то сейчас установка не производится, а в мониторинге пишется, что развертывание успешно. нужной директории в профиле пользователя нет.
  • я прописал по вашему совету, но почему-то сейчас установка не производится, а в мониторинге пишется, что развертывание успешно. нужной директории в профиле пользователя нет.

    Да, мой косяк...

    Поменяйте на:

    if (Test-Path (Join-Path $env:USERPROFILE 'ПАПКА111')) {$true}


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    • Помечено в качестве ответа aalyam 4 мая 2018 г. 20:15
    Модератор
  • такая же ошибка возникает при установке msi (exe переконвертировал в msi). метод обнаружения наличие файла в директории C:\Program Files (x86)\DSTELECOM\BlackEye\RUS\dsr_pcmgr.exe

    устанавливаю на устройство.

    там где уже было установлено - ошибок не возникает. а с новой установкой проблема 

    0x87D00324(-2016410844)

  • Судя по наличию "Program Files (x86)", скорее всего проблема с 32/64 битными ОС и тем, что вы выбираете в Programs ("Run installation and uninstall program as 32-bit process on 64-bit clients") и Detection Rule.

    Логика тут простая, если вы ставите 32 битное приложение (а судя по Program Files (x86) так и есть) вам надо поставить обе галки, чтобы и на 32-битной ОС и на 64-битной, инсталяция выполнилась корректно. И если вы используете переменные окружения %ProgramFiles%, вам надо написать именно %ProgramFiles% а не %ProgramFiles(x86)% поскольку движок Detection Method-а, с установленно галкой, запустит проврку в 32-битном окружении.


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор
  • Добрый день!  Ошибка  на 100% связана с методом обнаружения, но при этом батник мог и отработать. Как вариант можно добавить в батник создание файла, который и использовать как метод обнаружения.

    0x87D00324  - The application was not detected after installation completed. 


  • я правильно понял, что для 32 разрядного приложения нужно:

    1) в Тип развертывания указывать: Запуск программы установки и удаления в качестве 32 разрядного процесса на 64 разрядных клиентах

    2) в методах обнаружения файла указывать путь %ProgramFiles% и т.д.

    3) ставить Файл и папка связаны с 32 разрядным приложением на 64 разрядных системах?


    • Изменено aalyam 8 мая 2018 г. 13:56
  • я правильно понял, что для 32 разрядного приложения нужно:

    1) в Тип развертывания указывать: Запуск программы установки и удаления в качестве 32 разрядного процесса на 64 разрядных клиентах

    2) в методах обнаружения файла указывать путь %ProgramFiles% и т.д.

    3) ставить Файл и папка связаны с 32 разрядным приложением на 64 разрядных системах?


    Да

    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор
  • я прописал по вашему совету, но почему-то сейчас установка не производится, а в мониторинге пишется, что развертывание успешно. нужной директории в профиле пользователя нет.

    Да, мой косяк...

    Поменяйте на:

    if (Test-Path (Join-Path $env:USERPROFILE 'ПАПКА111')) {$true}


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    а как проверять productversion .exe файла в этой папке? отображается в свойствах-подробно файла?


    • Изменено aalyam 17 мая 2018 г. 9:12

  • а как проверять productversion .exe файла в этой папке? отображается в свойствах-подробно файла?


    $FilePath = "D:\Data\Downloads\adksetup.exe"
    $ProductVersion = [System.Version](Get-Item $FilePath).VersionInfo.ProductVersion
    
    if ($ProductVersion -le [System.Version]'10.1.17134.0') {
        "Старый, негодный"
    } else {
        "Подходит, берём"
    }



    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор

  • а как проверять productversion .exe файла в этой папке? отображается в свойствах-подробно файла?


    $FilePath = "D:\Data\Downloads\adksetup.exe"
    $ProductVersion = [System.Version](Get-Item $FilePath).VersionInfo.ProductVersion
    
    if ($ProductVersion -le [System.Version]'10.1.17134.0') {
        "Старый, негодный"
    } else {
        "Подходит, берём"
    }



    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    а так правильно будет?

    if ([System.Diagnostics.FileVersionInfo]::GetVersionInfo("%userprofile%\ларм\ларм.exe").FileVersion -eq "1.1.6708.19418") {$true}

  • Вы вроде писали про PrductVersion

    но в целом да, можно и так

    Единственное что, в вашем примере вы стравниваете строки. А это не сравнение версий. Пример

    PS C:\> [string]'02.02.02.0002' -eq [string]'2.2.2.0002'
    False
    PS C:\> [System.Version]'02.02.02.0002' -eq [System.Version]'2.2.2.0002'
    True



    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор
  • Ну и вместо %userprofile% нужно либо повершельный:
    $env:USERPROFILE

    либо .net-овский:
    [Environment]::GetEnvironmentVariable("UserProfile")


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор
  • ошибка 0X87D00327 Сценарий не подписан. 

    это в свойствах агента компьютера настраивается?

  • ошибка 0X87D00327 Сценарий не подписан. 

    это в свойствах агента компьютера настраивается?

    Да



    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Модератор