Я пытаюсь использовать произвольное действие Wix DTF для записи значений сеанса среды выполнения MSI в реестр. Этого я хотел достичь, добавив временную запись в таблицу «Реестр» в базе данных. Поскольку C++ имел способ WcaAddTempRecord
для достижения этого, очень хотелось знать, есть ли какой-либо эквивалентный метод в DTF.Wix DTF Custom Action Эквивалент WcaAddTempRecord
Примечание: Я попытался использовать Session.Database.OpenView
, чтобы вставить запись, но последовательно я получаю ошибку с ошибкой обновления из-за свойства readonly базы данных сеанса.
Может кто-нибудь предложить лучший подход для этой ситуации?
Благодаря Роб и Крис. – user2286870
Я пробовал использовать вышеописанный метод, но я получаю Ошибка обновления таблицы. Когда я добавил InsertTemporary непосредственно перед представлением, как показано ниже: View view = db.OpenView (sqlInsertSring); view.InsertTemporary (новая запись (6)); view.Execute (новая запись (объекты)); Я получаю базу данных:. Курсор в недействительном состоянии и не может продолжить. – user2286870
Существует ли таблица? WiX имеет тенденцию выкидывать неиспользуемые таблицы при создании MSI. Вы можете использовать элемент EnsureTable, чтобы он не делал этого. Вы уверены, что вы передаете правильное количество и типы объектов? Я использовал этот метод в нескольких установках, и я не сомневаюсь, что он работает. –