Как я могу установить свойство «SecureCustomProperties» в «Таблице свойств» MSI с помощью Visual Studio? - PullRequest
1 голос
/ 29 февраля 2012

Существует известная ошибка, из-за которой «MSI, построенный на Visual Studio, устанавливается в C: вместо C: \ Program Files» в Windows Vista и 7, если «AlwaysInstallElevated» равен 1.

Обходной путь ипроблема объясняется в блоге MSDN .Исправление заключается в том, чтобы «добавить TARGETDIR в свойство« SecureCustomProperties »в« Таблице свойств »».Все хорошо - но как я могу это сделать?Я знаю, что это не очень важный вопрос программирования, но, тем не менее, я потратил много времени на поиск в Интернете.

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

В проектах развертывания Visual Studio очень много ошибок.Так много, что Microsoft удаляет его из следующего выпуска Visual Studio и предоставляет вместо этого бесплатный доступ к InstallShield Limited Edition.

Будет найден способ «исправить» Msi, созданный VDPROJ. Люди, как правило, пишут утилиты, которые запускаются как команды пост-сборки, которые выполняют обновления SQL на MSI, чтобы обработать данные таблицы.

псевдокод следует ...

select Value from Property where Property.Property = "SecureCustomProperties"

strings.split ";" into collection

if collection not contains "TARGETDIR" add "TARGETDIR" to collection

collection serialize using ; to string

update Property set Value = newstring where Property.Property = "SecureCustomProperties"
1 голос
/ 28 января 2016

Вам нужно использовать ORCA, а затем изменить таблицу свойств следующим образом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...