CPUDesc plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Added category links.)
m (Put capitalization on file name.)
Line 4: Line 4:
<br style="clear:both;">
<br style="clear:both;">
== Links ==
== Links ==
<attach>cpudesc.zip</attach>
<attach>Cpudesc.zip</attach>


== Description ==
== Description ==

Revision as of 09:03, 12 June 2005

Author: menakkis (talk, contrib)


Links

Cpudesc.zip (12 KB)

Description

It's a plugin with one function: tell(). It returns a string giving some information about the CPU on the computer where your setup program's being run. This info string always has the same fields in exactly the same place, so it's easy to pull it apart. The info string looks like this:

 INTELP=d AMD=add PPRO=b MMX=d SSE=b SSE2=b 3DNOW=d ARCH=dd LEVEL=dd NCPU=dd

"d" means a decimal digit (0..9), "a" means a letter (A..Z), and "b" means a boolean digit (0 or 1).

Usage

(e.g. in your Install section):

; ...
  cpudesc::tell
  Pop $0                     ;full identification string in $0
 
  StrCpy $1 $0 1, 22         ;pull out one character after PPRO=
  IntFmt $2 "%u" $1          ; and turn it into a number
  IntCmpU $2 1 +1 +3 +3      ;pick a BLOG dep on PPro compatibility
  File /oname=blog.exe "blog_source_directory\blog_gen.exe"
  Goto +2
  File /oname=blog.exe "blog_source_directory\blog_pro.exe"
; ... the rest of your Install section

See cpudesc.txt for more info.