синопсис моего вопроса:установки Windows: Динамические Ключи реестра/Значения
Можно ли использовать свои собственные, пользовательские переменные (так, что вы можете использовать [TARGETDIR]) на экране реестру Проект установки Windows в VS2010? В частности, мне нужно сохранить сильное имя и версию сборки в реестре, чтобы зарегистрировать COM-объект на машине без установки пользователя с правами администратора.
Я уже пробовал использовать пользовательское действие, и я бы предпочел не продолжать эту дорогу, если это возможно.
Вот специфика, и то, что я пробовал:
Недавно мой работодатель начал слепо удаление прав администратора всех сотрудников из своих машин.
Я создал класс C#, открытый для COM, который я использовал на нескольких моих рабочих станциях, которые больше не могут быть зарегистрированы, потому что у меня больше нет соответствующих разрешений в HKEY_CLASSES_ROOT.
Через Googling я узнал, как зарегистрировать все соответствующие ключи под HKCU *, но теперь я хотел бы реализовать это в своем проекте развертывания.
Я понимаю, как использовать экран реестра в Windows Setup, но есть специальные ключи/значения, которые необходимо сохранить (установить папку, имя сборки, версию).
Я мог бы использовать настраиваемое действие, но в идеале я хочу, чтобы Windows Setup управляла моими параметрами реестра, потому что (a) это лучше, чем я при автоматическом удалении всех надлежащих ключей/значений при удалении, (b) во время установка, изменения реестра являются транзакционными & откат при ошибке установки и (в) логика для установки/удаления ключа реестра/транзакций уже написана Microsoft, и мне не придется переписывать ее самостоятельно.
Проект был в VS2008 до сегодняшнего дня, но я только что обновил его до VS2010, поэтому, возможно, что-то изменилось с 2008 по 2010 год, что может позволить такое поведение.
Таким образом, вместо использования специального действия есть ли лучший способ сделать это?
EDIT: я нашел this ответ, который, кажется, предположить, что вы можете получить доступ к «реестра» стол Windows Install в вашей установки проекта. Я не уверен, как сделать доступ к нему. Раньше я напоминал, что вы можете получить доступ к базам данных MSI из специального внешнего инструмента (Orca), но я не знаю, можете ли вы получить доступ к этим таблицам в своем проекте установки.
EDIT 2: А, я могу быть на что-то; возможно, событие после сборки:
- Use Orca to edit msi from command line?,
- Examples of Database Queries Using SQL and Script,
- WiRunSQL.vbs
* Run Regasm дважды - один раз с/кодовую и один раз без; оба раза с параметром/regfile.Затем объедините оба файла вместе (удалите дубликаты) и замените все ссылки HKCR на HKCU \ Software \ Classes.