Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2551 dpurdie 1
!macro IsDotNETInstalled
2
    ; IsDotNETInstalled
3
    ;
4
    ; Usage:
5
    ;   Call IsDotNETInstalled
6
    ;   Pop $0
7
    ;   StrCmp $0 1 found.NETFramework no.NETFramework
8
    Function IsDotNETInstalled
9
      Push $0
10
      Push $1
11
      Push $2
12
      Push $3
13
      Push $4
14
 
15
      ReadRegStr $4 HKEY_LOCAL_MACHINE \
16
        "Software\Microsoft\.NETFramework" "InstallRoot"
17
      # remove trailing back slash
18
      Push $4
19
      Exch $EXEDIR
20
      Exch $EXEDIR
21
      Pop $4
22
      # if the root directory doesn't exist .NET is not installed
23
      IfFileExists $4 0 noDotNET
24
 
25
      StrCpy $0 0
26
 
27
      EnumStart:
28
 
29
        EnumRegKey $2 HKEY_LOCAL_MACHINE \
30
          "Software\Microsoft\.NETFramework\Policy"  $0
31
        IntOp $0 $0 + 1
32
        StrCmp $2 "" noDotNET
33
 
34
        StrCpy $1 0
35
 
36
        EnumPolicy:
37
 
38
          EnumRegValue $3 HKEY_LOCAL_MACHINE \
39
            "Software\Microsoft\.NETFramework\Policy\$2" $1
40
          IntOp $1 $1 + 1
41
           StrCmp $3 "" EnumStart
42
            IfFileExists "$4\$2.$3" foundDotNET EnumPolicy
43
 
44
      noDotNET:
45
        StrCpy $0 0
46
        Goto done
47
 
48
      foundDotNET:
49
        StrCpy $0 1
50
 
51
      done:
52
        Pop $4
53
        Pop $3
54
        Pop $2
55
        Pop $1
56
        Exch $0
57
    FunctionEnd
58
!macroend