У меня есть хранимая процедура sql, которая выполняется как часть установки приложения через элемент SqlString, который принимает параметры, предоставляемые через свойства, которые задаются пользователем в процессе установки. Тем не менее, если в одно из этих полей / свойств введен апостроф, установка завершится неудачно с исключением из-за SQL из-за 'внутри' [PROPERTY] 'в строке SQL.
<sql:SqlString Id="SetMachineSettings" ExecuteOnInstall="yes" Sequence="1" ContinueOnError="no" SqlDb="TheDb" User="TheSQLUser" SQL="DECLARE @return_value int, @ErrorText nvarchar(256)
EXEC @return_value = spSetInfo @Name = '[NAME]', @Location = '[LOCATION]' @Language = '[LANG]',
@ErrorText = @ErrorText OUTPUT
SELECT @ErrorText as N'@ErrorText'
SELECT 'Return Value' = @return_value;" />
Я не уверенКак обрабатывать форматирование свойств NAME или LOCATION, я пытался использовать настраиваемое действие для его регулярного выражения, но я не уверен, что это правильный подход, и любой совет будет признателен.