MKN, я могу помочь на этапе инсталляции, т.е все действия обязательно проводим перед проверкой на предмет установленного продукта
msi и наличие текстового файлика - будем брать цифры оттуда, в случае не нахождения тектового файлика - установить msi
читать дальше »
Код:
OutFile "TextProduct.exe"
!include "TextFunc.nsh"
!include "Logiclib.nsh"
!include "StrFunc.nsh"
${StrRep}
Var ProductCode
ShowInstDetails show
Section MSIProduct
${FileReadFromEnd} "$EXEDIR\text.txt" "FileRead"
${IfNot} ${Errors}
${AndIfNot} $ProductCode == ``
;Здесь команды проверки на предмет установки и команда установки
;MessageBox MB_ICONINFORMATION|MB_OK "$ProductCode" IDOK
${Else}
;Здесь команда установки если нет файла
${EndIf}
SectionEnd
Function FileRead
StrLen $R0 "ProductCode"
StrCpy $R1 $9 $R0
${If} $R1 == "ProductCode"
${StrRep} $9 $9 $\r$\n ""
${StrRep} $ProductCode $9 "ProductCode " ""
StrCpy $0 StopFileReadFromEnd
${EndIf}
Push $0
FunctionEnd
Формат искомой строки:
ProductCodeпробел!{здесь может быть разное количество цифр}
Прикольно получилось, пока писал ответили...