لا يبدو CustomActionData ليتم ملؤها أو الوصول إليها بواسطة my فبسكريبت

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

سؤال

وطيب، وهذا ما يقود لي مجنون.

ولدي CA التي تحتاج إلى معرفة مسار INSTALLDIR لتحرير ملف XML.

وهكذا، أقوم بإعداد إجراء مخصص مجموعة الخصائص التي تحدد خاصية اسمه RemoveAuthTypesNode إلى [INSTALLDIR]. ثم لدي CA RemoveAuthTypesNode التي التسلسل بعد SetConfigFolder (خاصية مجموعة التي تضع INSTALLDIR إلى نظام البحث المسار) في تسلسل التثبيت تنفيذ، المؤجلة في سياق النظام (لا يعمل عند المؤجلة فقط اكسيك إما).

في سجل أرى أن يتم تعيين RemoveAuthTypesNode:

<اقتباس فقرة>   

وMSI (ج) (D4: EC) [16: 12: 05: 314]:   تغيير الخاصية: إضافة   الملكية RemoveAuthTypesNode. انها   القيمة 'C: \ Files \ Microsoft البرنامج   SQL   الخادم \ MSRS10.MSSQLSERVER \ تقارير   خدمات \ ReportServer \ '.

والأخطاء إجراء مخصص:

<اقتباس فقرة>   

خطأ 1720.There مشكلة مع   هذه حزمة Windows Installer. أ   النصي المطلوبة لهذا التثبيت ل   كامل لا يمكن أن يتم تشغيلها. اتصل   دعم العاملين أو حزمة   بائع. إجراء مخصص   RemoveAuthTypesNode الخطأ النصي   -2146827864، مايكروسوفت فبسكريبت وقت التشغيل خطأ: كائن المطلوبة:   "objXMLDOMNode" الخط 9، العمود 1، MSI   (ق) (78: EC) [16: 12: 23: 916]: المنتج:   تقارير المعرفة ASMI العضو - خطأ   1720.There مشكلة مع هذا حزمة Windows Installer. السيناريو   المطلوبة لهذا التثبيت لاستكمال   لا يمكن تشغيل. الاتصال دعمكم   أفراد أو بائع الحزمة. مخصص   العمل النصي RemoveAuthTypesNode   خطأ -2146827864، فبسكريبت مايكروسوفت   خطأ وقت التشغيل: كائن المطلوبة:   "objXMLDOMNode" الخط 9، العمود 1،

وهذا هو الفشل لأن المسار غير صحيح لذلك الكائن XMLDom أبدا الأحمال. أنا أعرف هذا لأنني لو ترميز ثابت ومسار كل شيء يعمل بشكل جيد.

وبالإضافة إلى ذلك، عندما كنت ابحث سجل لCustomActionData كنت أتوقع أنه سيكون هناك كما يتم تعيين.

وهنا هو رمز من الإجراء المخصص. وmsgbox هو فقط من أجل التصحيح. فإنه يتم عرض دائما شيئا.

strConfigFile = session.Property("CustomActionData") & "rsreportserver.config"
MsgBox session.Property("CustomActionData")
Set xDoc = CreateObject("Microsoft.XMLDOM")

xDoc.async = False
xDoc.Load(strConfigFile)

set objXMLDOMNode = xDoc.selectSingleNode("//Configuration/Authentication/AuthenticationTypes")
set objParentNode = objXMLDOMNode.parentNode
objParentNode.removeChild(objXMLDOMNode)

xDoc.save(strConfigFile)

Set xDoc = Nothing

وماذا أفعل الخطأ؟ أنا متأكد من أنه شيء بسيط غبي. مساعدة تقدير كبير.

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

المحلول

وهذا الإجراء المخصص الذي يحدد الخاصية المسماة لكان الإجراء المخصص VBSCRIPT الإعداد ملكية خاصة (وليس كل حالة العلوي). لذلك، كان الإجراء المخصص تعيين الخاصية لتكون متسلسلة في تنفيذ تسلسل بدلا من تسلسل UI. بمجرد أن إجراء هذا التغيير كان يجري استرداد البيانات الصحيحة في البرنامج النصي.

ومن المتوقع إذا لقد جعلت من الممتلكات العامة (كل حالة العلوي) كان يمكن أن يكون العمل يجري في تسلسل UI، ومع ذلك، لم أكن اختبار هذه النظرية.

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