Развертывание триггерной / хранимой процедуры CLR с использованием WiX - PullRequest
0 голосов
/ 09 апреля 2009

Поскольку основатель stackoverflow так много говорит о возможности простого развертывания изменений, я пытаюсь найти решение, чтобы решить мою проблему. Краткая справка: клиент связался со мной, и ему нужно было что-то сделать с базой данных, что не так тривиально, но не так уж сложно сделать (у меня ушло около дня, чтобы заставить процедуру работать). К сожалению, клиент должен иметь возможность развернуть это «исправление» примерно 20 раз и без моего участия, поскольку он не собирается за него платить.

Я написал триггер CLR, который выполняет некоторую работу, которая в противном случае была бы очень сложной при использовании TSQL (преобразования документов XML. У меня лучше получается использовать CLR против TSQL). Развертывание - это, как правило, несколько строк SQL и выгрузка dll в каталог из того, что я могу выловить (пока я только развернул из VS.Net).

Что мне нужно сделать, так это предоставить установщик MSI, который перетаскивает файл в папку и запрашивает у пользователя информацию о базе данных, которая требуется для подключения процедуры CLR к правильной базе данных / таблице.

Кто-нибудь делал это в прошлом, и если да, то готовы ли вы кого-нибудь обучить тому, как это делается, чтобы я мог уложить этот проект в постель?

Спасибо

1 Ответ

2 голосов
/ 09 апреля 2009

Если вы хотите избежать хитрости размещения файла, вы можете использовать альтернативную форму оператора CREATE ASSEMBLY, которая указывает сборку в байтовой форме. например,

CREATE ASSEMBY MyAssembly FROM 0xFFFF....;

Очевидно, что у вас будут фактические байты сборки, куда я положил 0xFFFF.....

...