2017-02-12 9 views
0
Source: "c:\Dropbox\word\EzPaste028012\2010Install\FilesToInstall-Common\DAS_AX_Knob.dll"; DestDir: "{app}\EzPaste" ; Flags: regserver sharedfile 

Мой инсталлятор работает должным образом для администраторов без каких-либо проблем, но обычные пользователи получают сообщение об ошибке enter image description hereInno установка Установка для стандартного пользователя

Похоже, что ошибка происходит потому, что стандарт Пользователь не имеет права в админке Пользователь, где происходит установка. Есть ли способ исправить это или привести к тому, что установка будет выполнена в форме папки, которую Стандартный Пользователь может зарегистрировать компоненты?

+0

Вы уверены, что вам нужен флаг sharedfile? Кажется, вы установили файл в папку пользователя и приложения. –

+0

Я удалил флаг sharedfile, но все равно получаю ошибки при попытке зарегистрировать ddl – user3387046

+0

«Get errors» - бесполезная информация. Какие ошибки? –

ответ

0

Во-первых, вы, кажется, устанавливаете DLL в папку, предназначенную для пользователей и приложений. Поэтому я не думаю, что вам действительно нужен sharedfile flag.


Во всяком случае, зарегистрировать DLL в SharedDLLs (хранится в HKLM), вам необходимы права администратора. Это не так.

Все, что вы можете сделать, это не регистрировать DLL, если вы не устанавливаете его как администратора.

Создайте две записи [Files], один с флагом sharedfile и один без. И используйте Check parameter и IsAdminLoggedOn function, чтобы выбрать подходящую запись.

[Files] 
Source: "c:\Dropbox\word\EzPaste028012\2010Install\FilesToInstall-Common\DAS_AX_Knob.dll"; \ 
    DestDir: "{app}\EzPaste"; Flags: regserver sharedfile; Check: IsAdminLoggedOn 
[Files] 
Source: "c:\Dropbox\word\EzPaste028012\2010Install\FilesToInstall-Common\DAS_AX_Knob.dll"; \ 
    DestDir: "{app}\EzPaste"; Flags: regserver; Check: not IsAdminLoggedOn 
+0

Я удалил флаг sharedfile, но все равно получаю ошибки при попытке зарегистрировать dll – user3387046