تثبيت ملف exe باستخدام مورد حزمة Powershell DSC يحصل على رمز الإرجاع 1619

StackOverflow https://stackoverflow.com//questions/24004455

سؤال

أحاول استخدام مورد حزمة Powershell DSC لتثبيت ملف تنفيذي...Perforce's P4V ليكون محددًا.هذا هو الكود الخاص بي:

Configuration PerforceMachine
{
    Node "SERVERNAME"
    {
        Package P4V
        {
            Ensure = "Present"
            Name = "Perforce Visual Components"
            Path = "\\nas\share\p4vinst64.exe"
            ProductId = ''
            Arguments = "/S /V/qn" # args for silent mode
            LogPath = "$env:ProgramData\p4v_install.log"
        }
    }
}

عند تشغيل هذا، هذا هو الخطأ الذي يعطيني Powershell:

PowerShell provider MSFT_PackageResource failed to execute Set-TargetResource functionality with error message: The return code 1619 was not expected. Configuration is likely not
correct
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : ProviderOperationExecutionFailure
    + PSComputerName        : SERVERNAME

وفق توثيق, رمز الإرجاع 1619 يعني أنه لا يمكن فتح حزمة MSI.ومع ذلك، عندما أقوم بتسجيل الدخول يدويًا إلى الجهاز وتشغيله "\ as\share\p4vinst64.exe /S /V/qn"، التثبيت يعمل بشكل لا تشوبه شائبة.

هل يعرف أحد لماذا هذا الفشل؟بالتناوب، هل يمكن لأحد أن يقول لي كيفية استكشاف هذه المشكلة وإصلاحها؟لقد قمت بلصق كافة معلومات الخطأ التي حصلت عليها من الجهاز، وملف السجل الخاص بي (p4v_install.log) هو ملف بحجم 0 بايت، ولا توجد أحداث في عارض الأحداث.لا أعرف كيفية استكشاف الأخطاء وإصلاحها أكثر من ذلك!

يحرر:يجب أن أشير إلى أنني حاولت أيضًا استخدام مورد الملف لنسخ الملف محليًا، ثم تثبيته من هناك.ومن المؤسف أن ذلك أدى إلى نفس النتيجة.

هل كانت مفيدة؟

المحلول

دانيال في Powershell.org وكانت المنتديات قادرة على معرفة ذلك بالنسبة لي.

يضع برنامج إعداد P4V InstallShield ملف MSI في مسار خاطئ إذا قمت بالتنفيذ كـ النظام المحلي.

لقد تمكنت من تطوير تكوين يعمل، انظر أدناه.المفتاح هو رمز التبديل /b هنا والذي يضع ملف MSI في موقع محدد.لقد اضفت ALLUSERS=1 للحصول على الاختصارات مرئية لجميع المستخدمين و REBOOT=ReallySuppress لتجنب إعادة التشغيل المفاجئة (والتي ستحدث بطريقة أخرى).

Configuration PerforceMachine
{
    Package P4V
    {
        Ensure = "Present"
        Name = "Perforce Visual Components"
        Path = "C:\My\p4vinst64.exe"
        ProductId = ''
        Arguments = '/b"C:\Windows\Temp\PerforceClient" /S /V"/qn ALLUSERS=1 REBOOT=ReallySuppress"' # args for silent mode
    }
} 

نصائح أخرى

حسنًا، ما يحدث هنا هو أنه تم تثبيت الحزمة (لم يتم اختبارها باستخدام p4vinst64.exe حتى الآن!)لذا، لست متأكدًا من السبب وراء عدم إمكانية فتح الحزمة كخطأ) ولكن نظرًا لأنك لم تحدد ملف ProductID القيمة، يفشل التحقق في نهاية التثبيت.وهذا هو الخطأ الذي تراه.ال Package المورد ليس جيدًا لتثبيت حزم .exe أو حتى MSIs التي لا تحتوي على معرف المنتج الذي يتم تمثيله كمعرف GUID.

يمكنك استخدام ال WindowsProcess الموارد بدلا من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top