كيف أقوم بتضمين إصدار ملف في ملف MSI باستخدام Visual Studio؟

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

سؤال

لدي مشروع إعداد لبرنامج C# الخاص بي، ومشروع الإعداد هذا يحتوي على إصدار في خصائصه.أرغب في تضمين هذا الإصدار في ملف MSI الذي تم إنشاؤه، حتى أتمكن من تمرير الماوس فوقه في المستكشف ومعرفة إصدار الملف.

أنا أستخدم VS2008كيف يمكنني أن أفعل هذا؟

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

المحلول

إذا قمت ببساطة بإضافة "الإصدار:1.5.0" في خاصية الوصف لمشروع الإعداد، ويظهر رقم الإصدار أيضًا في ملف MSI كما يلي:

http://screencast.com/t/A499i6jS

نصائح أخرى

هذا سؤال جيد لكني لا أعرف أي أداة الإعداد التي يمكن أن تفعل ذلك.علاوة على ذلك، لم أواجه مطلقًا ملف MSI بإصدار الملف الموارد مضمن فيه، لذلك فهي ليست ممارسة شائعة.عادة، إذا كنت أرغب في معرفة إصدار ملف MSI، يجب أن أفتحه أوركا وتحقق من خاصية ProductVersion هناك (في جدول الخصائص).

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

افتح الملف .vdproj المرتبط في محرر النصوص.ابحث عن قسم "المنتج"، ثم قم بتعديل حقلي "ProductVersion" و"الشركة المصنعة".

 "Product"
    {
    "Name" = "8:Microsoft Visual Studio"
    "ProductName" = "8:tidAxCleanupScript"
    "ProductCode" = "8:{0949AAAD-2C29-415E-851C-825C74C9CA81}"
    "PackageCode" = "8:{8F012EF1-D5D0-43DC-BBFD-761A639DDB07}"
    "UpgradeCode" = "8:{38DE1949-0782-4EF3-BDC2-080EB5B73EF8}"
    "RestartWWWService" = "11:FALSE"
    "RemovePreviousVersions" = "11:TRUE"
    "DetectNewerInstalledVersion" = "11:TRUE"
    "InstallAllUsers" = "11:FALSE"
    "ProductVersion" = "8:**1.5.0**"
    "Manufacturer" = "8:**Default Company Name**"
    "ARPHELPTELEPHONE" = "8:"

قد أكون مخطئًا، ولكن ألا يتبع إصدار msi الإصدار الموجود في ملف AssemblyInfo الخاص بمشروع بدء التشغيل الخاص بك؟

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