إلغاء تثبيت WinSxs في والاستخدام المشترك ترك التجميع في حالة سيئة

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

  •  07-07-2019
  •  | 
  •  

سؤال

وأواجه متاعب إلغاء تثبيت اس باي اس التجمع Win32 والمشتركة باستخدام Wix3 على ويندوز إكس بي. ملف WIX بلدي تبدو الى حد كبير مثل واحد هو موضح في <لأ href = "http://n2.nabble.com/Tutorial-How-to-install-files-into-WinSxS-td841475.html" يختلط = "نوفولو noreferrer" > http://n2.nabble.com/Tutorial-How-to-install-files-into-WinSxS-td841475.html .

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

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

<اقتباس فقرة>   

وMSI (ج) (98:44) [11: 46: 56: 263]: تخطي تركيب مكونات التجمع: {26A273E7-7F9A-4F77-9FA8-5E413A155BEC} منذ اجتماع الجمعية موجود مسبقا

لا أستطيع أن أجد وسيلة ليصل اس باي اس مرة أخرى إلى حالة جيدة قصيرة من حذف دليل بلدي التجمع، والتي في هذه المرحلة لم يعد محمي بواسطة نظام XP استعادة.

يدويا

وعلى الرغم بلدي المثبت الفعلي معقد أكثر من ذلك بكثير، لقد كنت قادرا على إعادة إنتاج هذا مع المثبت أساسية جدا التي لديها ميزة واحدة تحتوي على مكون واحد. ويتضمن هذا المكون دلل، وهو واضح وكتالوج الأمان. دلس <ملف> عنصر تمت KeyPath، وتعزو الجمعية وAssemblyManifest مجموعة. وبمجرد تركيب، ويمكنني أن محاكاة عملية تحميل التجميع عن طريق فتح DLL في MSVS.

هل هناك عمل إضافي وأرجو أن تحتج على إلغاء لكشف ومنع هذه الحالة؟ بدلا من ذلك، هناك وسيلة لإجبار تثبيت العملية التي يتعين القيام بها على الرغم من أن دلس موجودة بالفعل في WinSXS؟

وذات الصلة إلى حد ما، ولدي أيضا مشكلة إذا حاولت ترقية حزمة تثبيت التجميع إذا كان التجمع لا يتغير. المثبت يقرر أنه لا تحتاج إلى إعادة تثبيت التجمع (لأنه لم يتغير)، ولكن بعد ذلك عندما يدير SxsUninstallCA، فإنه يذهب ويزيل التجمع. من وجهة المثبت وجهة نظر، لا يزال يتم تثبيت المكون، ولكن ولت الملفات.

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

المحلول

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

وبلدي الافتراض في هذه المرحلة هو أن كنت قد حل هذا مع القليل من موجو من regkey HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations، وربما قليلا من إذن ملف صفع (إذا كانت الملفات لا تزال مقفلة).

والتي بطبيعة الحال، يتطلب إعادة التشغيل.

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

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