سؤال

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

كيف يمكنني العثور على مفتاح قاعدة التعريف لموقع الويب الخاص بي (على سبيل المثال."/LM/W3SVC/213548468") في تثبيت IIS7؟(لقد تم إعداد توافق IIS6 بالكامل، لكن لا يمكنني العثور على أي شيء حول موقعي في ملف قاعدة التعريف.xml ملف.)

أيضًا، نظرًا لأن مشاريع إعداد نشر الويب هي آليات قديمة بشكل واضح (أعتقد أنها كانت سهلة الاستخدام للغاية؟)، هل لدى أي شخص فكرة أفضل عن عمليات النشر الآلية الليلية؟

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

المحلول

في IIS 7 والإصدارات الأحدث، لم نعد نستخدم قاعدة التعريف وبدلاً من ذلك انتقلنا إلى نموذج ".config" حيث نقوم بتخزين كافة الإعدادات داخل "%windir%\system32\inetsrv\config\applicationHost.config"، وهذا هو المكان الذي ستقوم فيه ابحث عن جميع المعلومات والإعدادات التي تطبقها.إذا قمت بتمكين التوافق مع IIS 6، فسنقوم بتشغيل كافة الأوامر عن طريق ترجمتها مباشرة إلى ApplicationHost.config الجديد.

سيكون من المفيد معرفة المزيد حول كيفية القيام بذلك اليوم، إذا كنت تستخدم التعليمات البرمجية المُدارة، فمن المحتمل أن يكون الحل الأفضل هو استخدام Microsoft.Web.Administration (http://blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx) والذي يتضمن فئة تسمى ServerManager للسماح لك بتعيين كل ما تحتاجه.

إذا كنت تستخدم البرامج النصية (vbscript/jscript) فيمكنك الاستمرار في استخدام البرامج النصية الخاصة بك أو بدلاً من ذلك استخدام AHADMIN وهو واجهة برمجة التطبيقات الأساسية الجديدة لتكوين COM.

إذا كنت تستخدم بوويرشيل فلدينا أيضًا موفر PowerShell (http://www.iis.net/download/PowerShell) تقديم ما ينبغي أن يكون الأفضل في هذه الحالة.

أيضًا، إذا كنت تريد بالفعل حزم المحتويات والتكوين وأشياء أخرى مثل إعدادات التسجيل، وكائنات COM، وملفات GAC dlls، وما إلى ذلك، فيجب عليك استخدام Web Deploy (http://www.iis.net/download/WebDeploy)

نصائح أخرى

لا أعرف شيئًا عن قاعدة التعريف، ولكن من مشاركاتك تمكنت من تجميع ما يلي:

import-module WebAdministration
$site = get-website | Where-object {$_.Name -eq "SiteName"}

$id=$site.ID

setup.msi /passive TARGETAPPPOOL=`"ASP.NET v4.0`" TARGETSITE="/LM/W3SVC/"$id

علامات backtick هي أحرف الهروب لـ powershell.

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