Я использую этот setup.exe для установки приложения. передавая параметры MSI непосредственно в MSI через командную строку. Для справки:
Код: Выделить всё
setup.exe/s /v"/l*V installer.log INSTALLDIR="""C:\Program Files\Diagnostic manager""" INSTANCE=\"SD-WIN8-02\" REPOSITORY=\"Repository1\" SERVICEUSERNAME=\"SD-WIN8-02\testuser\" SERVICEPASSWORD="/7c2'==V@:~U-L%~*.Rv}CvBV'HHzyAq~'5NGA=" CLUSTERINSTALL=0 SETUPTYPE=Typical ApplicationUsers=AllUsers ALLUSERS=1 /qn"
- без пробела и без двойных кавычек (/7c2'==V@:~U-L%~* .Rv}CvBV'HHzyAq~'5NGA=)
- без пробела и в двойных кавычках (/7c2'==V@:~U-L%~*.Rv}CvB"V'HHzyAq~'5NGA=)
- с пробелом и без двойных кавычек (/7c2'== V@:~U-L%~*.Rv}CvB V'HHzyAq~'5NGA=)
- с пробелом и двойными кавычками (/7c2'==V@:~U-L%~*.Rv}CvB V'H"HzyAq~'5NGA=)
Первый сценарий сработал успешно: /7c2'==V@:~U-L%~*.Rv}CvBV'HHzyAq~'5NGA=
Второй сценарий сработал после экранирования двойной кавычки обратной косой чертой: /7c2'==V@:~U-L%~*.Rv}CvB\"V'HHzyAq~'5NGA=
Третий сценарий работал, когда значение было заключено в экранированные двойные кавычки: \"/7c2'==V@:~U-L%~*.Rv}CvB V'HHzyAq~'5NGA=\"
Однако объединить обе корректировки для четвертого сценария (пробелы + двойные кавычки) не удалось: \"/7c2'==V@ :~U-L%~*.Rv}CvB V'H\"HzyAq~'5NGA=\"
Как изменить параметр SERVICEPASSWORD, чтобы обеспечить пространство и двойные кавычки передаются правильно в этом четвертом сценарии?
Я ищу общее решение, которое надежно поддерживает все четыре сценария.
Неудачные попытки:
пароль (пробел + двойная кавычка)
ВВОД
/7c2'==V@:~U-L%~*.Rv }CvB V'H"HzyAq~'5NGA=
"/7c2'==V@:~U-L%~*.Rv}CvB V'H\"HzyAq~'5NGA="
/7c2'==V@:~U-L%~* .Rv}CvB V'H"HzyAq~'5NGA=
\"/7c2'==V@:~U-L%~*.Rv}CvB V'H"HzyAq~'5NGA=\"
/7c2'==V@:~U-L%~* .Rv}CvB V'H"HzyAq~'5NGA=
\"/7c2'==V@:~U-L%~*.Rv}CvB V'H\\\"HzyAq~'5NGA=\"
Подробнее здесь: https://stackoverflow.com/questions/793 ... parameters