Direct3D Workshop теперь SxS
Nov. 5th, 2012 06:01 pmDirect3D Workshop теперь полноправная SxS assembly.
То есть, в том числе может устанавливаться в директорию кэша SxS как shared assembly.
Вот я даже сделал MSI-инсталлятор:
https://github.com/downloads/Lovesan/D3DWorkshop/D3DW-0.1.1.1.msi
(и в принципе его любой желающий может собрать из сорцов на гитхабе, при условии наличия у него VS хотя бы C++ express версии, Windows SDK, и WiX версии 3.0 и выше)
SxS(оно же Component Servicing Infrastructure (CSI)) это инфраструктура Windows навроде .NET GAC, но для нейтив библиотек и приложений. По факту, это практически полный эквивалент GAC, у них даже API похожи( http://msdn.microsoft.com/en-us/library/windows/desktop/aa376204(v=vs.85).aspx )
SxS это очень круто, решает многие проблемы с версиями библиотек и т.п.
Из недостатков(как я уже писал в juck) - линуксоиды им, по какой-то странной причине, пользоваться не умеют. Ну и соответственно, опенсорс-библиотеки с корнями в линуксах и т.п. подвержены проблеме DLL hell и сопутствующему(впрочем они этому и на родных платформах подвержены, гг).
Впрочем, создание SxS assembly это не такая тривиальная вещь, какой могла бы быть. Надо будет написать статейку на эту тему.
Кстати, библиотека зависит, кроме системных стандартных вещей, еще и от от D3DCompiler_43.dll, для компиляции шейдеров. Я думаю от этой зависимости в будущем избавиться, придумав бинарный формат для "эффектов", но пока что эту dll можно взять из MS DirectX SDK(ну или Windows SDK, если говорить о SDK для Win8).
То есть, в том числе может устанавливаться в директорию кэша SxS как shared assembly.
Вот я даже сделал MSI-инсталлятор:
https://github.com/downloads/Lovesan/D3DWorkshop/D3DW-0.1.1.1.msi
(и в принципе его любой желающий может собрать из сорцов на гитхабе, при условии наличия у него VS хотя бы C++ express версии, Windows SDK, и WiX версии 3.0 и выше)
SxS(оно же Component Servicing Infrastructure (CSI)) это инфраструктура Windows навроде .NET GAC, но для нейтив библиотек и приложений. По факту, это практически полный эквивалент GAC, у них даже API похожи( http://msdn.microsoft.com/en-us/library/windows/desktop/aa376204(v=vs.85).aspx )
SxS это очень круто, решает многие проблемы с версиями библиотек и т.п.
Из недостатков(как я уже писал в juck) - линуксоиды им, по какой-то странной причине, пользоваться не умеют. Ну и соответственно, опенсорс-библиотеки с корнями в линуксах и т.п. подвержены проблеме DLL hell и сопутствующему(впрочем они этому и на родных платформах подвержены, гг).
Впрочем, создание SxS assembly это не такая тривиальная вещь, какой могла бы быть. Надо будет написать статейку на эту тему.
Кстати, библиотека зависит, кроме системных стандартных вещей, еще и от от D3DCompiler_43.dll, для компиляции шейдеров. Я думаю от этой зависимости в будущем избавиться, придумав бинарный формат для "эффектов", но пока что эту dll можно взять из MS DirectX SDK(ну или Windows SDK, если говорить о SDK для Win8).