На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ Inno Setup
Пожалуйста, выделяйте текст инсталлятора написанного на Inno Setup тегом [сode=ins] ... [/сode]. Для этого используйте кнопку [code=ins] в форме ответа или выпадающего списка, если нужно вставить код из другой программы.


Обязательно указывать:

  • Программу, используемую для создания инсталлятора.



Если в ходе решения проблемы возникли дополнительные вопросы, по возможности задаем их в той же теме.


Выразить свое отношение к модераторам раздела можно здесь: Profi, Fester
Модераторы: Fester
  
> WIX: создать RegistryValue в HKLM
    Необходимо скрыть ярлык в Установке/удалении программ. Нашел, что можно это сделать так
    ExpandedWrap disabled
                    <RegistryKey Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\{fcd580c2-b5f1-4a44-b6da-77f38813bfdd}.sdb" >
                      <RegistryValue Name="SystemComponent" Type="integer" Value="1" KeyPath="yes" />              
                    </RegistryKey>

    Но RegistryValue не создается(( Подозреваю, что проблема в правах. Как это можно обойти?
      Не совсем понятно, о каком ярлыке идет речь? О ARPSYSTEMCOMPONENT property?
        да, видимо это - оно.
          сорри если туплю, но ARPSYSTEMCOMPONENT property - это решение проблемы?
            Ты скажи, в чем проблема :)

            Если ты не хочешь, чтобы твоя программа показывалась в Add/Remove Programs (ARP), то да ARPSYSTEMCOMPONENT - решение проблемы.
            Если что-то другое, то опиши проблему :)
              Я правлю инсталл, в котором есть такой вот кастом экшн
              <CustomAction Id="InstallSDB" Directory="INSTALLDIR" ExeCommand="sdbinst -q MyDB.sdb" Return='ignore' Execute='commit'/>

              После установки появляется сама инсталлируемая программа в ARP и ещё одна запись там же для MyDB. Она запускает следующее
              %windir%\system32\sdbinst.exe -u "C:\Windows\AppPatch\Custom\{fcd580c2-b5f1-4a44-b6da-77f38813bfdd}.sdb"
              Так вот эту запись мне желательно сделать системной, чтобы скрыть от нежелательного вмешательства :)
                Цитата 0.0 @
                Так вот эту запись мне желательно сделать системной, чтобы скрыть от нежелательного вмешательства

                Ну удали просто запись из реестра и дело в шляпе :) Если надо удалять при деинсталляции, то придется немного усложнить, но тоже ничего сверхсложного.

                про sbd ничего не могу рассказать, т.к. не сталкивался :)
                Сообщение отредактировано: Fester -
                  Я попробовал удалить весь ключ через
                  ExpandedWrap disabled
                               <Component Id='RegistryHKLM' DiskId='1' Guid='3339405D-3E8A-4C29-A7E7-AD23A59388A6' KeyPath='yes'>
                                  <RemoveRegistryKey Id='Remove.sdb' Action="removeOnInstall" Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{fcd580c2-b5f1-4a44-b6da-77f38813bfdd}.sdb"/>
                                </Component>

                  Но removeOnInstall не работает, видимо он срабатывает раньше, чем кастом экшн, устанавливающий sdb. Потому что если использовать removeOnUninstall то после удаления оно сносит ключ нормально. Может есть какой-то ивент, к какому можно привязать кастом экшн, который ставит sdb, чтобы установка происходила ДО попытки удалить ключ с реестра?
                    ну можно конечно перекрутить всю стандартную последовательность экшенов... но это наверное не очень хорошо.
                    сделай тогда еще один кастом экшен, который будет удалять этот ключ.
                      Цитата Fester @
                      сделай тогда еще один кастом экшен, который будет удалять этот ключ

                      а как это делается с помощью кастом экшена? Имею в виду удаление ключа...
                        пишешь код на С++, JS или VB и говоришь инстраллятору исполнить этот код.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0967 ]   [ 15 queries used ]   [ Generated: 14.05.24, 18:14 GMT ]