تثبيت WIX "المتقدمة" لا يقوم بإلغاء تثبيت الإصدار السابق

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

سؤال

أود أن أعتذر مقدما إذا كنت سأترك أي تفاصيل مهمة.

أنا أحاول إجراء ترقية حيث يجب إزالة الإصدار السابق من البرنامج (وجميع المكونات) قبل تثبيت واحد جديد.

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

حتى الآن، لقد فعلت ما يلي:

-Dited علامات الترقية الخاصة بي لتتناسب مع نصيحة سؤال Stackoverflow آخر

- تم تعيين الخاصية "OldVersionBeingupgraded" بشكل صحيح

- حدد أن ترقية الرموز / المعرفات هي نفسها، فإن أرقام الإصدار تتسلسل (ترقية من 1.0.8 إلى 1.0.10) - بعد كل شيء، يعمل التثبيت "النموذجي" بشكل صحيح!

-Followed النصيحة المقدمة هنا: Wix - دائما الكتابة فوق الإصدار السابق وتبع ذلك: http://wix.sourceforge.net/manual-wix3/ major_upgrade.htm

- -Tried لتنفيذ الاختراق من خلال الاتصال يدويا MSIEXEC لإلغاء تثبيت الإصدار السابق بواسطة معرف المنتج الخاص به (فشل ذلك لأننا بالفعل تثبيت شيء ما - هل هناك طريقة أفضل لجدولة هذا؟)

يشبه قسم المنتج / الترقية هكذا:

giveacodicetagpre.

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

شكرا مقدما على أي إدخال يمكنك تقديمه.

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

المحلول

يبدو وكأنك يعمل في نفس القيد كما فعلت، راجع هذا السؤال .لا يمكنك تغيير نطاق التثبيت ("لكل مستخدم" أو "لكل جهاز") في ترقية.

لا توجد طريقة بسيطة حول هذا من داخل Windows Installer.يمكنك فقط إصدار Exe Boottrapper Extrapper الذي يقوم بإلغاء تثبيت الإصدار السابق، ثم يبدأ تثبيت الإصدار الجديد.

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