Установка многофайлового Сервисного использования NT WiX (2.0)

Вы действительно имеете libdeprecated-ruby (2010-2012, не доступный больше на rubygem в 2015)

А, небольшая библиотека намеревалась помочь разработчикам, работающим с кодом устаревшим.
идея прибывает из' D' язык программирования, где разработчики могут отметить определенный код, как удерживается от использования и затем позволить/запретить способности выполнить удержанный от использования код.

require 'lib/deprecated.rb'
require 'test/unit'

# this class is used to test the deprecate functionality
class DummyClass
  def monkey
    return true
  end

  deprecate :monkey
end

# we want exceptions for testing here.
Deprecate.set_action(:throw)

class DeprecateTest < Test::Unit::TestCase
  def test_set_action

    assert_raise(DeprecatedError) { raise StandardError.new unless DummyClass.new.monkey }

    Deprecate.set_action(proc { |msg| raise DeprecatedError.new("#{msg} is deprecated.") })

    assert_raise(DeprecatedError) { raise StandardError.new unless DummyClass.new.monkey }


    # set to warn and make sure our return values are getting through.
    Deprecate.set_action(:warn)

    assert_nothing_raised(DeprecatedError) { raise StandardError.new unless DummyClass.new.monkey } 
  end
end

5
задан Jon Seigel 5 March 2010 в 19:14
поделиться

1 ответ

Элемент ServiceInstall в конечном итоге будет указывать на «KeyPath» компонента, в котором находится ServiceInstall. По умолчанию набор инструментов WiX выбирает первый элемент File или RegistryKey в вашем компоненте в качестве KeyPath. Когда вы добавляли файлы в свой компонент, .dll в верхней части списка становилась KeyPath.

В общем, меньшие компоненты лучше, чем большие. Поэтому лучшим решением было бы разместить ваши DLL в отдельных компонентах. Затем вы можете оставить элемент .exe File и элемент ServiceInstall в одном компоненте. Это делает все очень чистым.

Если затем вы хотите, чтобы «служба» была сгруппирована вместе, вы можете создать элемент ComponentGroup и поместить ComponentRefs в компоненты .exe и .dll. Теперь у вас есть одна вещь, на которую вы можете ссылаться из Feature / ComponentGroupRef.

7
ответ дан 14 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: