سؤال

ومنتجاتنا يحتوي على VC ++ ATL الخادم COM في بروك مع فئتين المعرضة COM - ClassA وCLASSB. يضاف هذا الخادم COM إلى التثبيت درع ضبط 2008 حزمة المثبت و "استخراج COM في بناء" الملكية للمكون.

تتعرض

وClassA وCLASSB بطريقة مماثلة تماما من قبل مكون - هناك ملف .rgs لكل منهما، على حد سواء .rgs يتم تجميع الملفات في الموارد عنصر وCAtlModule :: UpdateRegistryFromResourceS () يتم استدعاء لكلا منهم

ولكن عندما وتشغيل REGSVR32 على خادم COM يتعرض كل من الطبقات إلى التسجيل بشكل صحيح ولكن عندما وتشغيل تثبيت حزمة واحدة منها فقط يتم عرضها بواسطة تركيب درع.

وكيف تركيب درع اكتشاف أي تغييرات على التسجيل هو لجعل؟ ما الذي يجب أن تحقق للكشف عن مصدر المشكلة؟

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

المحلول

وأظن أنها تستخدم RegOverridePredefKey (على الأقل MSDN يلمح أنها يجب): http://msdn.microsoft.com/en-us /library/ms724901(VS.85).aspx

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

وهذا هو كل الظن، على الرغم من أنني لا أعرف ما InstallShield في الواقع لا، لكنني أعتقد أن تبدأ مع <لأ href = "http://technet.microsoft.com/en-us/sysinternals/bb896652 .aspx اتصال "يختلط =" نوفولو noreferrer "> المساعدة Regmon بينما يعمل بناء InstallShield، من أجل معرفة ما إذا كان يمكنني أن نتبين أين تذهب التسجيلات، ومن ثم محاولة لرصد ما تقوم به خطأ.

نصائح أخرى

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

إذا استخراج COM في بناء يعطي لك المتاعب يمكنك إيقاف تشغيله وإدراج البيانات COM بشكل ثابت.

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