تغيير تطبيق واجهة المستخدم الرسومية لتطبيق Windows استنادًا إلى اسم ملف MSI

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

سؤال

نقوم بتطوير تطبيق Windows باستخدام C#. نود تغيير واجهة المستخدم الرسومية (صور الخلفية وغيرها من صور التحكم والنص) بناءً على اسم العلامة التجارية.

سيكون التثبيت النموذجي للتطبيق هو الاسم brandname_programname.msi. علينا أن نأخذ اسم العلامة التجارية من MSI وتخصيص واجهة المستخدم الرسومية بناءً على ذلك. يرجى ملاحظة أننا لا نمرر أي كائنات أخرى ، وإعدادات للإشارة إلى الاختلافات بخلاف أسماء العلامات التجارية المختلفة في MSI. كيف يمكننا تحقيق هذه النتيجة؟

لا نريد حل WPF من فضلك.

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

المحلول

يقودني الوصف إلى الاعتقاد بأنك ترسل مجموعة كاملة من صور العلامة التجارية والنصوص في جميع عمليات التثبيت ، ثم عن طريق تغيير اسم ملف MSI الذي تريد تصفية عناصر واجهة المستخدم الرسومية.

أجد أن هذا حلًا متقللاً للغاية ، نظرًا لأنك تعتمد تمامًا على مدربيك لا يقومون بإعادة تسمية ملف MSI - ما الذي سيحدث على سبيل المثال إذا قام المسؤول بتغيير الاسم من "company_programname.msi" إلى "programname.msi فقط" ، لتبرير القرار مع "لا يوجد فائدة في وجود اسمنا في اسم الملف - لدينا هذا فقط."

علاوة على ذلك ، لا يرغب العديد من العملاء في مشاركة عناصر علامتهم التجارية مع المنافسة - لذا فإن بما في ذلك جميع صور العلامة التجارية في MSI قد يتعارض مع اتفاق العميل الخاص بك.

في رأيي ، يجب أن تتعامل مع المشكلة من الاتجاه الآخر - إما إنشاء ملف MSI منفصل لكل علامة تجارية ، أو مجرد إنشاء نوع واحد من MSI وإجبار بيئة التثبيت لتزويد عناصر واجهة المستخدم الرسومية كمجلد أو ملف مضغوط. ثم استخدم هذه العناصر لملء واجهة المستخدم الرسومية بغض النظر عن الشركة.

منحت ، لا يزال نهج المجلد/الرمز البريدي متقلبة وعليك التعامل مع الحالة عندما لا توجد مثل هذه الملفات ، ولكن لا يزال هناك نقطة فشل واحدة.

بناءً على تجربتي السابقة ، أقترح بشدة أن تقوم بإنشاء ملف MSI منفصل لكل علامة تجارية. وبهذه الطريقة ، تقلل من خطر الفشل الناجم عن سوء الاستخدام ، أو خطر الإجراءات الخبيثة.

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