سؤال

وأنا بدأت للتو مع WIX وأنا في حاجة لتكون قادرة على أتمتة بناء MSI على الخادم CI دينا. هناك على أية حال لتشمل تلقائيا كل التبعيات للمشروع؟

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

المحلول

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

وعندما يتم حل القضايا المذكورة أعلاه في heat.exe ثم إدراجه في عملية الإنشاء الخاصة بك وسوف بالتأكيد حفظ كل عناء أن الناس يذكر أعلاه. انها على قائمتنا للقيام بعمل أفضل بعد أن يتم إصلاح الخلل الأكثر فظاعة في مجموعة أدوات الأساسية.

نصائح أخرى

وأنا بدأت للتو مع WIX أيضا ولقد فعلت ذلك لخدعة سريعة وقذرة لإضافة مراجع بالعمل تلقائيا. والفكرة هي لمسح كل .dll في المجلد الإخراج من المشروع الذي تريد حزمه.

في مرحلة ما قبل بناء مشروع WIX، إضافة

call "$(ProjectDir)GenerateDependency.bat" "$(SolutionDir)" "$(ProjectDir)Dependencies.wxs"

وإضافة ملف GenerateDependency.bat في مشروع WIX الخاصة بك تحتوي على

@echo off
set SOLUTIONDIR=%1
set OUTPUTFILE=%2
echo Starting Dependency check...
echo ^<?xml version="1.0" encoding="UTF-8"?^> > %OUTPUTFILE%
echo ^<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"^> >> %OUTPUTFILE%
echo   ^<Fragment^> >> %OUTPUTFILE%
echo     ^<ComponentGroup Id="MesDependance" Directory="INSTALLFOLDER"^> >> %OUTPUTFILE%

for %%F in (%SOLUTIONDIR%WixServiceInstallerExample\bin\Debug\*.dll) do (
   echo "-- Adding %%~nxF" 
    echo       ^<Component Id="%%~nF"^> >> %OUTPUTFILE%
    echo                     ^<File  Id="%%~nF" Name="%%~nxF" Source="%%~dpnxF" Vital="yes" KeyPath="yes" DiskId="1"/^> >> %OUTPUTFILE%
    echo       ^</Component^> >> %OUTPUTFILE%
)
echo     ^</ComponentGroup^> >> %OUTPUTFILE%
echo   ^</Fragment^> >> %OUTPUTFILE%
echo ^</Wix^> >> %OUTPUTFILE%
echo Dependency check done.

وتعديل "WixServiceInstallerExample \ بن \ التصحيح" وفقا للحاجة الخاصة بك. هذا soulhd يكون المجلد الإخراج من المشروع الذي تريد لحزم

ملحوظة: حذار أن الفوضى في كثير من الأحيان VisualStudio حولها مع الترميز. أفضل تحرير هذا الملف باستخدام المفكرة ++ وتأكد في ANSI، وليس UTF8.

وهذا سيولد Dependencies.wxs التي يمكن أن تدرج في المشروع. إذا كنت تحت التحكم بالمصادر، استبعاده منه.

وكل بناء وإعادة تفحص .dll و إعادة بناء Dependencies.wxs قبل اتخاذ فعلا الحزمة.

وإلقاء نظرة على الموقع البارافين ، من Wintellect.

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

وأنا لم أر شيئا في WIX التي يمكن أن تفعل ذلك، من المفترض لك أن تعرف كل التبعيات التي تتطلب الحل الخاص بك / المشروع. اقرأ هذا <وأ href = "http://blogs.dovetailsoftware.com/blogs/kmiller/archive/2007/12/06/creating-windows-installers-using-wix-the-journey-begins.aspx" يختلط = " نوفولو noreferrer "> بلوق أو الداخل هو اقتباس:

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

وحافظ على مصدر وثيقة والخاص   تبعيات أقرب (الاعتذار   صن تزو).

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

والأقرب رأيت، عن شيء تريده هو هذا الرجل <لأ href = "http://mostlytech.blogspot.com/2007/02/extend-right-click-menu-in-explorer-in. أتش تي أم أل "يختلط =" نوفولو noreferrer "> بلوق .

والآن، نحن عالقون على القيام بذلك يدويا.

وأنا بدأت للتو مع WIX وأعتقد أن WixEdit ( http://wixedit.sourceforge.net/ ) الصخور لإضافة ملفات متعددة / دلس، حل إحباطي مع WIX من الحصول على الملفات في سهولة. مجرد الحفاظ على الملفات الخاصة بك المنظمة ومن ثم استخدام وظيفة مجلد الاستيراد. بالطبع هو لا تدعم 3.0 توصيات جديدة من وجود عنصر واحد لكل ملف.

والحرارة جيدة أيضا وتدعم مكون واحد لكل ملف. التالي على قائمتي هو الحصول على بعض أتمتة بحيث يتم تحديث هذه الملفات تلقائيا استوديو البصرية لوس انجليس.

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