سؤال

أنا أعمل في مشروع له تنسيق ملف خاص. يحتوي المشروع على برنامج كبير ضروري للتثبيت وعارض أصغر لا يتطلب أي تثبيت. أود أن أكون قادرًا على تصدير الملفات من تطبيقي الرئيسي "الفتح الذاتي". exe - أي ، يمكنك النقر نقرًا مزدوجًا فوق exe وسيظهر الملف المضمن (هذا لجعل التمرير حول العارض للأشخاص الذين لديهم لم يتم تثبيت التطبيق الرئيسي القادر على مشاهدته - سوف يمرون حول المستند فقط).

لقد ضللت قليلاً في كيفية القيام بذلك. وصلت أفكاري التي كنت أحقق فيها إلى طريق مسدود. هم:

1) ضمّن الملف في العارض. يمكنني القيام بذلك يدويًا من خلال Visual Studio ، ولدي عرض توضيحي عملي لذلك ، لكن لا يمكنني إيجاد طريقة للقيام بذلك على الفور.

2) أنشئ أرشيفًا ذاتي الاستخراج يستخرج الملف و exe إلى temp ويقوم بتشغيل exe مع اسم الملف في سطر الأوامر. يبدو هذا سهلاً وممكنًا (على الرغم من الاختراق) ، لكنني واجهت مشكلة أن أرشفة أو تثبيت البرامج لا يبدو أن لديها سطر الأوامر اللازم للقيام بكل ذلك.

أي أفكار؟ أفضل الثانية لأنها سهلة ، ولكن الأولى لأنها تبدو أكثر مقاومة للرصاص / أقل اختراقًا.

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

المحلول

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

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

نصائح أخرى

باستخدام طريقتك (1):

إذا كنت تستخدم .NET ، فيمكنك جعل برنامج العارض الخاص بك تجميعًا واحدًا ، ويكون مستندك تجميعًا آخر ، ثم استخدم ILMerge أو ما شابه ذلك لدمجها في ملف نهائي واحد قابل للتنفيذ.

ILMerge هو برنامج سطر أوامر ، لذا يجب أن تكون قادرًا على أتمتة هذه الخطوة.

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

الجزء الوحيد الآخر من اللغز هو كيفية إنشاء تجميع "المستند".لست متأكدًا تمامًا من الخطوات ، ولكن يبدو أنه يجب أن تكون قابلة للتنفيذ.

ربما استخدم CMake أو ما شابه لإنشاء مشروع VStudio ، ثم استخدم MSBuild لتكوينه في تجميع.

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