Hi there.
So I migrate between LiveXP and Win7PE, and one of the tools that I use adds a registry key to Windows. However, the registry for LiveXP and Win7PE is different, so I have to change the process every time I want to add said registry key. Is there a way inside the script to program a different [Process] function for both LiveXP and Win7PE, and even possibly branch out to doing so for other projects/versions of Windows depending on where it is needed?
Thanks in advance.
Script for multiple projects?
Best Answer pscEx , 06 September 2014 - 06:41 AM
Here the quick and clean version:
[Process] Retrieve,FILEVERSION,%SourceDir%\Setup.exe,%_version% StrFormat,LEFT,%_Version%,3,%_Version% If,%_Version%,EQUAL,5.1,Set,%SourceType%,XP If,%_Version%,EQUAL,6.0,Set,%SourceType%,Vista If,%_Version%,EQUAL,6.1,Set,%SourceType%,Win7 If,%_Version%,EQUAL,6.2,Set,%SourceType%,Win80 If,%_Version%,EQUAL,6.3,Set,%SourceType%,Win81 If,EXISTVAR,%SourceType%,Run,%ScriptFile%,Process_%SourceType% Else,ECHO,"Type of source CD not known" [Process_XP] // Put XP code here [Process_Vista] // Put Vista code here [Process_Win7] // Put Win7 code here [Process_Win80] // Put Win80 code here [Process_Win81] // Put Win81 code here
@QuentinX5: As a small challenge to you:
Expand to distinguish x86 and x64
Peter
Go to the full post#1
Posted 03 September 2014 - 06:50 PM
#2
Posted 04 September 2014 - 11:21 AM
The quick way:
[Process] Run,%ScriptFile%,Process_%ProjectTitle% [Process_LiveXP] ... // XP code here [Process_Win7PE] ... // Win7 code here
Of course the [Process_????] must contain your real project title.
The disadvantage: The real project title may vary from installation to installation. When you copy the script to a different installation, you perhaps have to adapt the ????
Peter
#3
Posted 04 September 2014 - 05:08 PM
The quick way:
[Process] Run,%ScriptFile%,Process_%ProjectTitle% [Process_LiveXP] ... // XP code here [Process_Win7PE] ... // Win7 code hereOf course the [Process_????] must contain your real project title.
The disadvantage: The real project title may vary from installation to installation. When you copy the script to a different installation, you perhaps have to adapt the ????
Peter
Alright, you said that was the quick way. Myself being a programmer, I take it that that would be the "improper" way of doing it, so what would be the non-quick way of doing it? Would it be writing it to work depending on the OS type?
#4
Posted 04 September 2014 - 06:15 PM
Alright, you said that was the quick way. Myself being a programmer, I take it that that would be the "improper" way of doing it, so what would be the non-quick way of doing it? Would it be writing it to work depending on the OS type?
I avoided to say "quick and dirty way". The suggestion brings you an quick result to solve your issue with the known disavantages.
You are right, there are "universal" solutions possible, but I did not want actually to spend time to query for XP and Win7PE recognisation in all existing WinBuilder projects.
May be we can do it together.
BTW: I'm also a programmer, doing this job since the ice-age before Billy the Door ...
BTW2: For every new project, you can add a
[Process_????]
section, and finally may have "unlimited" process sections.
Peter
- QuentinX5 likes this
#5
Posted 06 September 2014 - 06:41 AM Best Answer
Here the quick and clean version:
[Process] Retrieve,FILEVERSION,%SourceDir%\Setup.exe,%_version% StrFormat,LEFT,%_Version%,3,%_Version% If,%_Version%,EQUAL,5.1,Set,%SourceType%,XP If,%_Version%,EQUAL,6.0,Set,%SourceType%,Vista If,%_Version%,EQUAL,6.1,Set,%SourceType%,Win7 If,%_Version%,EQUAL,6.2,Set,%SourceType%,Win80 If,%_Version%,EQUAL,6.3,Set,%SourceType%,Win81 If,EXISTVAR,%SourceType%,Run,%ScriptFile%,Process_%SourceType% Else,ECHO,"Type of source CD not known" [Process_XP] // Put XP code here [Process_Vista] // Put Vista code here [Process_Win7] // Put Win7 code here [Process_Win80] // Put Win80 code here [Process_Win81] // Put Win81 code here
@QuentinX5: As a small challenge to you:
Expand to distinguish x86 and x64
Peter
- QuentinX5 likes this
#6
Posted 06 September 2014 - 04:28 PM
Here the quick and clean version:
[Process] Retrieve,FILEVERSION,%SourceDir%\Setup.exe,%_version% StrFormat,LEFT,%_Version%,3,%_Version% If,%_Version%,EQUAL,5.1,Set,%SourceType%,XP If,%_Version%,EQUAL,6.0,Set,%SourceType%,Vista If,%_Version%,EQUAL,6.1,Set,%SourceType%,Win7 If,%_Version%,EQUAL,6.2,Set,%SourceType%,Win80 If,%_Version%,EQUAL,6.3,Set,%SourceType%,Win81 If,EXISTVAR,%SourceType%,Run,%ScriptFile%,Process_%SourceType% Else,ECHO,"Type of source CD not known" [Process_XP] // Put XP code here [Process_Vista] // Put Vista code here [Process_Win7] // Put Win7 code here [Process_Win80] // Put Win80 code here [Process_Win81] // Put Win81 code here@QuentinX5: As a small challenge to you:
Expand to distinguish x86 and x64
Peter
Exactly what I was looking for. Thank you!
And also, thank you for the challenge.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users