Я столкнулся с проектом, который создает пакет MSI. Одна из папок из этого пакета имеет такое название:MSI установка файла внутри папки, которая содержит в своем имени подстроку% Path%?
% Р-% F_% Path% альфа
Во время установки, во время InstallFiles стандарт действий, установщик Windows разрешит подстроку% Path % как переменная среды, поэтому символ «:» появляется внутри имени папки и ошибок установки (неверный символ в имени папки).
EDIT: То же самое происходит ошибка для DuplicateFiles стандартное действие тоже.
Если я создаю MSI, которая создает эту папку пустой (т.е. во время CreateFolders стандартного действия) установщик Windows не пытается решить подстроку% Path% к переменному окружению и установка завершится успешно, создавая папку с именем представленных выше.
Я никогда не встречал эту ситуацию раньше. Кто-нибудь еще? Если да, можете ли вы дать более подробную информацию о том, что происходит точно, и есть ли доступ к обходу?
Примечание! Я добавил все теги различных инструментов разработки MSI, потому что я подозреваю, что это не зависящая от инструмента ситуация.
Документы для «форматирования» указывают на то, что вы можете избежать%, закодировав ее как [\%], которая, похоже, работает в моем ограниченном тестировании. – PhilDW
Действительно, отформатированные опоры поддерживают экраны вроде этого. Но в таблице Directory нет форматированных столбцов, символ «\» не принимается в имени допустимой папки. https://msdn.microsoft.com/en-us/library/aa368295%28v=vs.85%29.aspx –
Понятно, конечно, но если InstallFiles применяет форматированные правила в разрешении вашего пути, это стоило того чтобы увидеть, применит ли это правило [\]. – PhilDW