سؤال

ج # 2005.

أنا أستخدم فئة مثبتة لأنني بحاجة إلى إجراء مخصص سيتم قراءته في ملف تكوين XML.

لذلك عندما ينقر المستخدم المزدوج على الإعداد، سيكون هناك ملف Config.xml في نفس المجلد. أود أن أقرأ في ملف config.xml هذا على تثبيت الحدث. سيحتوي المجلد على Setup.exe و Config.xml

ومع ذلك، لا يمكن العثور على ملف Config.xml لأنه يبحث عنه ضمن C: Windows System32. لقد وجدت هذا من خلال استخدام ApplicationStartup.Path. ومع ذلك، يوجد مجلد الإعداد الذي يحتوي على Setup و Config.xml على سطح المكتب الخاص بي.

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

الصعوبة هي أنه سيتم تنزيل مجلد الإعداد الخاص بي من الإنترنت وأي مستخدم يمكنه تنزيله وفك ضغطه في أي مكان على جهاز الكمبيوتر الخاص بهم.

هنا هو مقتطف التعليمات البرمجية الخاصة بي لحدث التثبيت.

شكرا جزيلا لأي نصيحة

protected override void OnAfterInstall(System.Collections.IDictionary savedState)
    {
        DataTable dt = new DataTable();
        MessageBox.Show(Application.StartupPath.ToString());
        dt.ReadXml("config.xml");

        MessageBox.Show(base.Context.Parameters["CAT_TargetDir"].ToString());
    } 
هل كانت مفيدة؟

المحلول 3

أنا تمكنت من حل هذا.

كانت الجواب فقط لكتابة ملف بات بسيط سيفعل كل العمل بالنسبة لي. ثم سيتم استدعاء ملف الخفافيش الإعداد وتثبيت التطبيق.

شكرا،

نصائح أخرى

على افتراض أنك تتحدث عن MSI، أليس كذلك originaldatabase. خاصية؟

وفترض أنك لا تخطئ CAT_TargetDir بدلا من TARGETDIR يمكنك القيام بالعمل التالي حول: قم بتعيين CustomAractedATA وتمرير TargetDir كوسيطة لعملك المخصص. ليس الحل الأكثر أناقة ولكن يجب أن تعمل سهلة للغاية.

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