الحصول على موقع Setup.exe في الإجراءات المخصصة
-
11-09-2019 - |
سؤال
ج # 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 كوسيطة لعملك المخصص. ليس الحل الأكثر أناقة ولكن يجب أن تعمل سهلة للغاية.
يمكنك أيضا تجربة هذا: أحتاج إلى إجراء مخصص MSI الذي يقوم بنسخ ملف من دليل مصدر MSI