The fact that it is nearly in every script active and that this scripts will for sure not change in near future. is also the fact that if you want to use someones work you need to implement the CAPI and if you rewrite it for your project you will get attacks "why not say thanks" blablabla.
And i have already shared something, maybe you should take a look before attacking also me. I see you in the middle of this the oven and reboot and i also known that i will get from you an answer.
If CapiC is to remove than just do it, why to wait? Otherwize there will be more scripts manipulated by the holders of this commands to make the appscripts dependet on it.
Look at Win7PESE nearly every script is changed by lancelot to add "IniVariables" compability, So also nearly the whole project is now a mess cause it depends more and more in useless commands.
ReadEnv is nice, but to let it go in nothing and to define the VistaCAPI variables would solve a lot of compability problems. The project knows all the info that readenv is reading so it can be deactivated and the (as example) VistaPECfg is or can be same as Win7PECfg and so on.
The command is in my eyes deleteable, only the section is needet so winbuilder can call it and dont throws errors. The worsest thing is that the work of JFX and others is now.
Look at this:
[Main]
Title=1 - Copy Files
Type=script
Author=NightMan, YahooUK, JFX, ChrisR
Description=Make folders and copy all basic files. This step is fundamental to add all needed system files.
Credits=All credits go to Microsoft for developing this Operative System and to everybody on the BootLand forums for helping on the debuggind and improvement of this script.
Version=031
Download_Level=0
Level=1
Selected=True
Mandatory=True
NoWarning=False
Contact=http://www.msfn.org/board/topic/149758-win7pe-se/
Date=2011.10.10
Depend=
Disable=
CertifiedBy=
Certification=
HistoryNotes=
History016=ChrisR - add bootmgr.exe.mui in boot%distlang for display language at startup
History017=rpaz - Lancelot - adjust copy of KBD*.DLL files checkbox Add all Keyboards
History017=rpaz - added needed file to allow tray icon control (Hide/show/notifications)
History018=ChrisR - add mscms.dll
History019=Lancelot - no duplicate options in menu.lst
History020=ChrisR - comment bootres.dll for Vista start bar for fast boot (instead win7 startup animation) post 71 http://www.boot-land...ndpost&p=110874
History021=Dera's fix for distlang : post 201 http://www.boot-land...ndpost&p=113307
History022=Homes32 - Moved mount check for install.wim into 01-PreConfig
History023=ChrisR - add blbres.dll, blb_ps.dll required for recovery environment in standard files copy
History024=Homes32 - Added shortcut generation and config for Windows Recovery Env Tools, Cleaned up interface
History025=JFX - sfc.dll - lz32.dll - crtdll.dll can be added to base files http://www.msfn.org/...post__p__956891
History026=Lancelot - AdmTools_CheckBox hidden from interface - reported causing double shortcut appears along with mmc (+adding manual names....). (tip: better add any adm. tools through mmc script) // code cosmetics (quotes removed etc etc)
History027=Dera - Add Windows Time service w32time
History027b=ChrisR : retrieve Time Zone Information from install.wim in offline system hive, for system locale auto
History028=Lancelot IniVariables added
History029=ChrisR - Font control panel - set the registry permission on W32Time service - ifsutil.dll dependence of xcopy,...
History030=ChrisR - Additional Font (from Install.wim) commented, Preferred an additional Fonts script (Reason: reg font entries have localized names) http://theoven.org/index.php?topic=206
History031=ChrisR - Reorganization of sections - Improved echo messages - Copy only used bootsrc mui files for standard file copy.
Inivariables wasn't needet that the script runs good. so i think that i am not far away with my thinking that it is forced to be used.
Also i see in your script clearlock (nice application respekt)
ReadEnv,SourceType
Select_Case,%SourceType%,XP|W2003
If,%Case%,BIGGER,0,Begin
// We are (lovingly) using an XP/2003 based project
Echo,"XP/2003 Based Project Detected."
If,Not,ExistFile,%target_win%Fontslucon.ttf,CopyOrExpand,%source_win%lucon.ttf,%target_win%Fonts
End
Else,Begin
// otherwise we are (hopefully) using a Vista/Win7 project
Echo,"Vista/Win7 Based Project Detected."
If,Not,ExistFile,%target_win%Fontslucon.ttf,CopyOrExpand,%source_win%Fontslucon.ttf,%target_win%Fonts
End
// needed for displaying non .bmp images - LiveXP doesn't include this.
Require_FileQ,asycfilt.dll
CopyOrExpand?
Is it now enough to say only with these two lines:
If,Not,ExistFile,%TargetDir%WindowsFontslucon.ttf,If,ExistFile,%SourceDir%Windowslucon.ttf,CopyOrExpand,%SourceDir%Windowslucon.ttf,%TargetDir%WindowsFonts
If,Not,ExistFile,%TargetDir%WindowsFontslucon.ttf,CopyOrExpand,%source_win%Fontslucon.ttf,%target_win%Fonts
or also it is possible as every one knows to retrieve the fileversion of an dll like "kernel32.dll" or some libs apps else and to know which os version is in.
Require_FileQ is as i saw only for Win7PE_SE project made and also makes your script bindet on it.
Last but not leas from BGInfo script:
Hive_Load,HKCU
RegWrite,HKLM,0x4,"%reg%SoftwareSysinternalsBGInfo","EulaAccepted","1"
RegWrite,HKLM,0x2,"%reg%SoftwareMicrosoftWindowsCurrentVersionRunOnce","BGInfo","#$q%PE_Programs%%ProgramFolder%runBGinfo.exe#$q#$s%StartMode%#$s%RefreshInterval%"
Hive_Unload,HKCU
This command is also not needet to make a standalone script and it is also not that less code to write:
RegHiveLoad,Temp,%SourceDir%WindowsSystem32Configdefault
RegWrite,HKLM,0x4,"TempSoftwareSysinternalsBGInfo","EulaAccepted","1"
RegWrite,HKLM,0x2,"TempSoftwareMicrosoftWindowsCurrentVersionRunOnce","BGInfo","#$q%PE_Programs%%ProgramFolder%runBGinfo.exe#$q#$s%StartMode%#$s%RefreshInterval%"
RegHiveUnload,Temp
As i remember XP, Vista and Seven and the server editions are storing the default hive in the same folder, so it is also not neccassary to make the script working on all projects.
I dont critizize your work or your usage of the Capi it is your script and you can make it how you wish, but to say that i am the bad cause i want to show you guys what is going in wrong direction and many think so, is not that funny in my eyes.
I am forced cause if i want to add a script without editing it, it is not possible to have a project without capi. So everything needs to be changed and we are (the new devs) forced to use it, cause nearly everything above 50% what is available doesnt run without it.
When i provide something to the public, than i want that it is improved and not changed and messed with something like that. For me it is not important to have a name here, i dont need thanks or to be famous. I am as you all a little guy that can code and its for me a hobby not work as for you all.
We can work togheter to improve something or work against all and add such commands only to make as example the winbuilder slower.
When the day comes that capi will have only usefull commands than i will maybe rethink and do something for this community, but nowadays
The Oven is fighting against the devs here and why i should use my time to help somewhere where it is not sure how the future will like.
For me it is important that my project have a future so in my hands it will for sure have, but what is with the appscripts, if i remove capi and someday comes an update than i must change it again, and again, again....
It would be better that app scripts are as i said before "STANDALONE" you can add your own little command collection in the one script. And everyone would be fore sure happy.
It would also work if the capi would be readable and in modules splittet, so an appdev can decide what functions he need and just copy and paste it in his script so the script has the module of the Command collection and it would be also standalone. Or modules that are addable to winbuilder and everyone can decide what to add.
CAPI isnt a real api or sdk, it is a one file command collection and redirection. To splitt everycommand in one file and to give US project devs the possibility to add what we want would make me as example more happy, and it would be for sure more readable instead of this endless file.
Also to see what command is executed and redirected you must go sometimes to 3-5 sections to see what it is realy doying, many redirections and so on. If you want i can invest my time to search errors in it, there are for sure a lot of them, searching bugs is easy but not interessting, cause the devs making it have anyway isolated it that nobody can get easy in. Look at projects like webkit, there are some rules for all, not do it as you like, a good structure never harmed anybody. So i will let it and wont fight a lot with you around, my time i will spend to remove that crap from nearly everyscript that i want to use. Realy nice, there are weeks needet to clean a project from capi.
You guys can believe that i will never share my scripts, than after a month i see History0X= Lancelot added inivariables support
This would be the death end. To improve bugs ok but to add useless functions is only time loose. The devs mostly are concentrating on how to make a native old script more unative and dependent on the capi.
Never change a running system is the goal. if a script works wihout new commands, than let it work as it was and fix maybe some bugs.
Edited by Darijo, 25 November 2011 - 06:38 AM.