سؤال

وأنا باستخدام Wix3 بيتا مع ميزة شجرة UI. أنا تركيب جمعيات عدة كمكونات منفصلة في دليل فرعي مخصص داخل PROGRAMFILES، وكذلك في GAC. بالإضافة إلى ذلك أود أن حزمة إصدارات DEBUG من نفس المجالس كمكون واحد والسماح للمستخدم أن تقرر ما إذا كنت تريد تثبيت لهم أم لا. الآن يتم تعطيل هذه الميزة مع الجمعيات التصحيح بشكل افتراضي، ولكن يتم تثبيت المجالس التصحيح بغض النظر.

وفيما يلي مقتطف ذات الصلة:

<DirectoryRef Id="INSTALLDIR">
  <Directory Id="bin" Name="bin">
    <Directory Id="Debug" Name="Debug">
      <Component Id="DebugComponent" Guid="PUT-GUID-HERE">
        <File Id="DebugAssemblyXXX" DiskId="1" Source="Debug\XXX.dll"></File>
      </Component>
    </Directory>
    <Directory Id="Release" Name="Release">
      <Component Id="ReleaseComponent" Guid="PUT-GUID-HERE">
        <File Id="ReleaseAssemblyXXX" DiskId="1" Source="Release\XXX.dll"></File>
      </Component>
    </Directory>
  </Directory>
</DirectoryRef>

<Feature Id="All" ConfigurableDirectory="INSTALLDIR" Title="Title" Level="1"
         Display="expand" AllowAdvertise="no" Absent="disallow" Description="Desc">

  <Feature Id="DebugAssemblies" Title="Debug Assemblies" Level="1000" Absent="allow"
           AllowAdvertise="no" Description="Debug versions of assemblies.">
    <ComponentRef Id="DebugComponent" />
  </Feature>

  <Feature Id="ReleaseFeature1" Title="Feature" Level="3"
           AllowAdvertise="no" Description="Another description">
    <ComponentRef Id="ReleaseComponent"/>
  </Feature>
</Feature>

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

ووINSTALLLEVEL الافتراضي هو 3.

وأي اقتراحات؟

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

المحلول

في حالة شخص آخر يحصل عالقا مع هذا: على ما يبدو لا ينبغي أن يدعى ميزة المستوى الأعلى "الكل" كما في حالتي - قد يكون لها بعض المعنى الافتراضي لWIX / ويندوز المثبت. على تسميته إلى شيء آخر كل شيء يعمل كما هو متوقع.

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