На самом деле я установил другую версию программного обеспечения на один и тот же компьютер, поэтому хочу проверить папку на наличие обеих версий, когда пользователь переходит к третьей версии установки. Я пытаюсь использовать цикл, но программа установки не работает. Заранее спасибо.
У меня уже установлено 2 версии одного и того же программного обеспечения на одном компьютере. Я хочу, чтобы при установке третьей версии сценарий проверял путь и не позволял пользователю устанавливать по тому же пути, по которому уже установлены две предыдущие версии.
Function .onVerifyInstDir
nsArray::Set array 1.6
nsArray::Set array 1.7
nsArray::Set array 1.8
nsArray::Length array
Pop $R0
;DetailPrint `array length: $R0`
StrCpy $R1 0
${DoWhile} $R1 < $R0
nsArray::Get array $R1
Pop $R2
StrCpy $tempregistry "$(^Name)_$R2"
;DetailPrint `MyArray2[$R1] is $R2`
ReadRegStr $path HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstal\$tempregistry""InstallLocation" ;fetching installed location
${If} $path == ""
${Else}
strCmp $path $INSTDIR 0 pathGood
;Abort
IntOp $R1 $R1 + 1
${EndIf}
${Loop}
PathGood:
FunctionEnd