WiX التغييرات اللازمة لتبسيط .NET framework 3.5 تثبيت ويندوز فيستا (وما فوق) آلات

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

سؤال

قررنا اتخاذ يغرق تتطلب أن يكون لدى المستخدمين .NET framework 3.5 تثبيت قبل أن يتمكنوا من استخدام وسائل الإعلام لدينا مركز في المكونات.

أريد أن تأكد من تثبيت تجربة سلسة قدر الإمكان و أن المثبت يبقى الصغيرة.

ما هي التغييرات هل أنا بحاجة لجعل بلدي WiX الملف لدعم التالية السيناريوهات ؟ أمثلة التعليمات البرمجية سيكون محل تقدير كبير.

  • المستخدم لديه .Net framework 3.0 تثبيت التفاعلية تثبيت.

السلوك المطلوب:تتم مطالبة المستخدم مع نافذة أن يقول لها أنها تحتاج نسخة جديدة من الإطار ، فإذا قبلت dotNetFx35setup.exe (2.7 MB) تحميل, ومن ثم تنفيذها.أخيرا, التثبيت العائدات.

  • المستخدم لديه .Net framework 3.0 تثبيت غير التفاعلية تثبيت.

الخلفية:لتسهيل لصناعة السيارات في التحديثات من داخل المركز الإعلامي ، قد نفذ "msiexec.exe /qb /i mediabrowser.msi" إذا كان المستخدم المنتخب لترقية الإصدار الموجود.

السلوك المطلوب:تتم مطالبة المستخدم مع نافذة أن يقول لها أنها تحتاج نسخة جديدة من الإطار ، فإذا قبلت dotNetFx35setup.exe (2.7 MB) تحميل, ومن ثم تنفيذها.أخيرا, التثبيت العائدات بصمت.

هل هناك أي مشاريع مفتوحة المصدر التي تنفذ شيء على طول هذه الخطوط ؟

ذات السؤال:هو .NET framework 3.5 معقول شرطا مسبقا مركز وسائل الإعلام المساعد ؟

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

المحلول 4

من روب مينشينج مطور WiX الرئيسي:هذا هو السيناريو الرئيسي لـ Burn (أداة تمهيد مجموعة أدوات WiX التي سيتم تطويرها).

لذا لا، لا توجد طريقة مدمجة لتبسيط العملية باستخدام WiX pure.هل يمكن أن تكتب الخاص بك التمهيد الخاص رغم ذلك.

نصائح أخرى

أعتقد تثبيت .صافي تقع تحت مسؤوليات setup.exe الإطلاق, قبل msi تطلق.WIX لا (بعد) بطريقتها الخاصة لتوليد الإطلاق (أو إذا كان كذلك ، فإنه لم يتم توثيقها في wix.chm).بدلا من ذلك, يمكنك الاستفادة من GenerateBootStrapper msbuild مهمة لتوليد setup.exe.نلقي نظرة على هذا الموضوع "كيفية:تثبيت .NET Framework باستخدام الإطلاق"في wix الوثائق.لتثبيت .NET framework 3.5 SP1 عن طريق تحميل, msbuild ملف مثل هذا:

<Project ToolsVersion="3.5"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
           <ProductName>Windows Installer 3.1</ProductName>
        </BootstrapperFile>
        <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
           <ProductName>Microsoft DotNet Framework 3.5 SP1</ProductName>
        </BootstrapperFile>
    </ItemGroup>

    <Target Name="SetupExe">
        <GenerateBootstrapper
            ApplicationFile="myproduct.msi"
            ApplicationName="myproduct"
            BootstrapperItems="@(BootstrapperFile)"
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"
            OutputPath="path/to/put/setup/"
            Culture="en"/>
    </Target>

</Project>

إذا قمت بحفظ ما سبق في الإعداد.msbuild الملف, يمكنك بناء الخاصة بك الإعداد من خلال التذرع

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe الإعداد.msbuild

يمكنك أيضا تثبيت .صافي من تثبيت القرص المضغوط بدلا من تنزيله.فقط إضافة ComponentsLocation="Relative" إلى سمات GenerateBootstrapper.

dotNetInstaller يدعم كل هذا

سوف تحتاج إلى استخدام bootstrapper لتحقيق ذلك.لن يسمح لك برنامج Microsoft Installer ببدء تشغيل برنامج تثبيت آخر بمجرد تشغيله بالفعل.يوجد منشئ تمهيد يمكنك استخدامه من ملفات msbuild المضمنة في Visual Studio، أو يمكنك الاطلاع على العديد من الخيارات مفتوحة المصدر.

dotNetInstaller هو خيار شعبي.و"Burn" هو اسم الأداة القادمة في WiX لهذه المهمة.لكنها لا تزال مجرد مفهوم في الوقت الحالي.

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