2015-06-10 6 views
0

Есть ли способ добавить пользовательскую логику, которая должна выполняться при установке приложения, созданного мастером установки экрана? Логика, которую мне нужно реализовать, включает проверку подключения к Интернету и поиск ключа в реестре, если условия действительны, а затем продолжить установку приложения, чтобы показать сообщение пользователю и прекратить установку. Я искал варианты в installshield wizard, но я не нашел никакого решения. Я даже сделал логическую схемуКак добавить пользовательскую логику при установке exe, созданного installshield

enter image description here

Кстати я использую VB6.

+1

Что-нибудь с надписью «Мастер» предлагает упрощенный, автоматический, общий процесс. «Волшебник» плюс «обычай» звучит как оксюморон. Я предполагаю, что вам нужно будет отбросить «волшебника» и узнать больше об использовании этого продукта в нерабочем режиме. – Bob77

+0

@ Bob77 да я понимаю, что мастер означает упрощенный, автоматический, общий процесс, но в некоторых случаях существует функциональность, где мы можем использовать его на нашем пути. Аналогично в Installshield есть функциональность, где мы можем добавить пользовательский installscript и вызвать dll через installscript. в моем случае я сделал dll, чтобы проверить подключение к Интернету и значение реестра, поэтому проблема решена :) –

ответ

0

После некоторого исследования я закончил с решением installscript. В installshiled мы можем добавить InstallScript и упорядочить его в разных событиях, для проверки подключения к Интернету и значения реестра и т. Д. ..i сделала обычную dll для проверки моей логики и вызвала ее через installscript. this ссылка будет полезно, если мы должны вызвать функцию DLL через installscript.Here это фрагмент кода, чтобы использовать DLL функцию в InstallScript

prototype [CallingConvention] [ReturnType] DLLName.FunctionName(ParamType1, ParamType2, ...); 

Например:

prototype BOOL ConnectionCheckdll.CheckInternetConnection(INT, INT, INT); 
UseDLL(SUPPORTDIR^"ConnectionCheckdll.dll"); 
bResult = ConnectionCheckdll.CheckInternetConnection(nInt1, nInt2, nInt3); 
UnUseDLL(SUPPORTDIR^"ConnectionCheckdll.dll"); 
Смежные вопросы