Morkeleb Posted September 21, 2004 Share Posted September 21, 2004 Hi...Could you show us an example minimalistic ini-file for WIHU that does the same as the below RunOnceEx.cmd file?I think it would help quite a few of us understand the ini file syntax:Example: There are quite some operands for the file configuration command. There you mention a file either having a version, or not having one, in which case it is checked if the file exists or not. But how to I check if a version exists and it has a version?But before the file I have some other questions- What about the ability to do user configuration in the config file? Do they act as proposed values or will the be used to create users?- Can I remove all the user configuration stuff from the configuration file to just let the user create his user as he likes on the gui?- Unlike you seem to assume for everyone, I am not going to run the windows install in full-unattended mode - the user will be able to edit predefined values. But in this case the windows-own user-creation dialogs are shown. Do these clash with those of WIHU? How can I disable the windows-own user-cereation dialogs?Here the file:cmdow @ /HID@echo offSET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceExREG ADD %KEY% /V TITLE /D "Installiere Applikationen" /fIF EXIST %systemroot%\system32\atiddc.dll REG ADD %KEY%\010 /VE /D "ATI Control Panel 4.9 with SmartGART" /fIF EXIST %systemroot%\system32\atiddc.dll REG ADD %KEY%\010 /V 1 /D "%systemdrive%\drivers\radeon_catalyst_4.9\Setup.exe -s -f1 setup.iss" /fIF EXIST %systemroot%\system32\atiddc.dll REG ADD %KEY%\010 /V 2 /D "%systemdrive%\install\radeon_catalyst_panel_4.9\Setup.exe -s -f1 setup.iss" /fREG ADD %KEY%\120 /VE /D "Power Toys" /fREG ADD %KEY%\120 /V 1 /D "%systemdrive%\install\powertoys\CmdHerePowertoySetup.exe /S /v /qn" /fREG ADD %KEY%\120 /V 2 /D "%systemdrive%\install\powertoys\TweakUiPowertoySetup.exe /S /v /qn" /fREG ADD %KEY%\120 /VE /D "Adobe Acrobat Reader 6.0.1" /fREG ADD %KEY%\120 /V 1 /D "\"%systemdrive%\install\adobe\acrobatreader\Adobe Reader 6.0.1 - Deutsch.msi\" /qn" /fREG ADD %KEY%\130 /VE /D "MSN Messenger 6.2" /fREG ADD %KEY%\130 /V 1 /D "msiexec /i %systemdrive%\install\msnmessenger\MsnMsgs.msi IAGREE=\"Yes\" ADDEXPLORERTOOLBAR=\"\" SETSEARCHENGINE=\"\" SETHOMEPAGE=\"\" /q" /fREG ADD %KEY%\140 /VE /D "Winamp 5.0.5" /fREG ADD %KEY%\140 /V 1 /D "%systemdrive%\install\winamp\winamp.msi INI=\"%systemdrive%\install\winamp\winamp.ini\" /qn" /fEXITI think it would help all of us understand!Thanx in advance,Morke Link to comment Share on other sites More sharing options...
BenjaminKalytta Posted September 21, 2004 Share Posted September 21, 2004 (edited) There is an example ini file included! Just take a look at that.But I'll describe it shortly (btw. there is a help section on my web page).Settings are either organized in INI file, per command line switches or in WIHU GUI.Ini file may contain following predefined sections:[Environment][settings][users][environment.x] whereby x is an index 0 ... 65535 which correspondences with user.x index.EACH OTHER SECTION NAME may contain software installation commands. (described later)First of all, let me say, EACH section is optional, i.e. not required.1. [Environment] sectionThis section may contain environment variables which will be _ONLY_ available while WIHU is running. One special thing is, that this environment variables may also reference regsitry values like following:DefaultProfilesDir = HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectoryThis will read the above key from registry and saves it in environment variable DefaultProfilesDir which will be accessable later with %DefaultProfilesDir% somewhere.2. [settings] sectionThis section may conatin settings as the name implied. ; Write windows size back to ini file after exitdimension.update=1; set window sizedimension.width=900dimension.height=500; PageHeaderTitle.x and PageHeaderSubTitle.x sets the header title or subtitle of specified page. First page is page 0.PageHeaderTitle.0=Title0PageHeaderSubTitle.0=SubTitle0PageHeaderTitle.1=Title1PageHeaderSubTitle.1=SubTitle1; Set computer name to xyzcomputer=xyz; Skip settings dialogskipsettings=1Take a look at command line switches (WIHU /?) for detailed description of each of this keyword.3. [users] sectionHere you may create new user accounts or modify existing one. See example install.ini or my web page for more information how to do this.;Disable Administrator accountuser.0=Administratorstatus.0=0x002Group.0=1password.0=1A6178031B607F041A617C071B6073081A61700B1B60770C1A61740F1B601B60D0crypted.0=324. [environment.x] sectionThis contains permanent environment variables which will be stored in registry for corresponding user. x is the index specified in [users] section in user.x keyword. In above example there _could_ be a [environment.0] section.Please note, registry references as in [environment] section are not allowed here!5. software specific sections. This may contain many keywords. Most important one is command.x and description.x.[My New Software]command.0 = myapp.exedescription.0 = My first applicationPlease don't forget to append valid index. There may no holes in indixes, i.e. following isn't possible:command.0=...command.1=...command.3=...In this case WIHU will stop execution at command.1.To organize software items in a tree structure you may append sub indixes like:command.0.0 = mysubapp.0.exedescription.0.0 = First sub item of "My first application"command.0.1 = mysubapp.1.exedescription.0.1 = Second sub items of "My first application"command.0.0.0 = mysubapp.0.0.exedescription.0.0.0 = First sub item of sub item 0.0selected.0.0.0 = 1WIHU will show above example as:[x] My New Software [ ] My first application [ ] First sub item of "My first application" [x] First sub item of sub item 0.0 [ ] Second sub items of "My first application"For detailed information about allowed keywords please take a look at example install.ini or at my web page.Here your example:[ATI specific things]command.0 = "%systemdrive%\drivers\radeon_catalyst_4.9\Setup.exe -s -f1 setup.iss"description.0= ATI Display Driverfile.0.0 = %systemroot%\system32\atiddc.dll?!selected.0=1command.1="%systemdrive%\install\radeon_catalyst_panel_4.9\Setup.exe -s -f1 setup.iss"description.1= Control Panel 4.9 with SmartGARTfile.1.0 = %systemroot%\system32\atiddc.dll?!selected.1=1[Power Toys]command.0 = "%systemdrive%\install\powertoys\CmdHerePowertoySetup.exe /S /v /qn"description.0=<Will never be showed since hidden>hidden.0=1selected.0=1command.1="%systemdrive%\install\powertoys\TweakUiPowertoySetup.exe /S /v /qn"description.1=<Will never be showed since hidden>hidden.1=1selected.1=1[Adobe Acrobat Reader 6.0.1]hidden.0=1command.0="%systemdrive%\install\adobe\acrobatreader\Adobe Reader 6.0.1 - Deutsch.msi" /qn"description.0=<Will never be showed since hidden>selected.0=1[MSN Messenger 6.2]hidden.0=1command.0=%systemdrive%\install\msnmessenger\MsnMsgs.msi IAGREE="Yes" ADDEXPLORERTOOLBAR="" SETSEARCHENGINE="" SETHOMEPAGE="" /q"description.0=<Will never be showed since hidden>selected.0=1[Winamp 5.0.5]hidden.0=1selected.0=1command.0="%systemdrive%\install\winamp\winamp.msi INI="%systemdrive%\install\winamp\winamp.ini" /qn"description.0=<Will never be showed since hidden>... or you could do (prefered):[Drivers]command.0 = "%systemdrive%\drivers\radeon_catalyst_4.9\Setup.exe -s -f1 setup.iss"description.0= ATI Display Driver & Control Panel 4.9 with SmartGARTfile.0.0 = %systemroot%\system32\atiddc.dll?!selected.0=1command.0.0="%systemdrive%\install\radeon_catalyst_panel_4.9\Setup.exe -s -f1 setup.iss"description.0.0= Control Panel 4.9 with SmartGARTselected.0.0 = 1hidden.0.0 = 1[Applications]command.0.0 = "%systemdrive%\install\powertoys\CmdHerePowertoySetup.exe /S /v /qn"description.0.0 = Power Toys (Helper or whatever)hidden.0.0 = 1selected.0.0 = 1command.0 = "%systemdrive%\install\powertoys\TweakUiPowertoySetup.exe /S /v /qn"description.0 = Power Toysselected.0 = 1command.1 = "%systemdrive%\install\adobe\acrobatreader\Adobe Reader 6.0.1 - Deutsch.msi" /qn"description.1 = Adobe Acrobat Reader 6.0.1selected.1 = 1command.2=%systemdrive%\install\msnmessenger\MsnMsgs.msi IAGREE="Yes" ADDEXPLORERTOOLBAR="" SETSEARCHENGINE="" SETHOMEPAGE="" /q"description.2 = MSN Messenger 6.2selected.2 = 1selected.3 = 1command.3 = "%systemdrive%\install\winamp\winamp.msi INI="%systemdrive%\install\winamp\winamp.ini" /qn"description.3 = Winamp 5.0.5This will unselect this item only if atiddc.dll doesn't exists, otherwise this item will be selected and installed by default. To prevent some one from selecting this item anyway, you could add locked.0=1Or in case you don't want some one changing any item in [ATI specific things] section you could add top level locked=1 (without indixes)btw. file.0.0=%systemroot%\system32\atiddc.dll?= would be the inverse meaning of ?!.Note: There is currently a bug in file existence check implementation. Please download new version 2.1.11.1Benjamin Edited September 23, 2004 by BenjaminKalytta Link to comment Share on other sites More sharing options...
Morkeleb Posted September 22, 2004 Author Share Posted September 22, 2004 Thanx.This was a helpful answer.I'll try it out like this.You did not cover the other questions however.Is this because they do not exactly concern WIHU?Anyway, ill try to get it running and report on results.Morke Link to comment Share on other sites More sharing options...
BenjaminKalytta Posted September 22, 2004 Share Posted September 22, 2004 Is this because they do not exactly concern WIHU?How can I disable the windows-own user-cereation dialogs?I don't know the answer.Do these clash with those of WIHU?No, there are no problems using WIHU to modify this account, to add new one and delete exiting one.What about the ability to do user configuration in the config file?Each user in [users] section will be created/modified/deleted by WIHU, except you remove this entries within WIHU UI.Benjamin Link to comment Share on other sites More sharing options...
Morkeleb Posted September 22, 2004 Author Share Posted September 22, 2004 Thanx for your ansers.Howver I only found the developer release version 2.1.10.0,on your homepage, not 2.10.7.0 as you mentioned.Do you mean this one or is 2.10.7.0 available elsewhere?Mokre Link to comment Share on other sites More sharing options...
BenjaminKalytta Posted September 22, 2004 Share Posted September 22, 2004 Sorry, yes I meant 2.1.10.7 (2.1.10.x)Benjamin Link to comment Share on other sites More sharing options...
Morkeleb Posted September 23, 2004 Author Share Posted September 23, 2004 I have tried it out (on an installed system)...The check ?! and ?= still dont work as it seemes.It doesnt matter if the file is written in capital letters or not, I assume?Anyway, when I use ?! the install is always striked out,and when I use ?= it is always normal.And it doesnt matter which file I check for or if the file exists or not.Still seemes to be buggy...I've used the wihi.exe which is 220kb large and came in wihu.2.1.10.0.zip. Link to comment Share on other sites More sharing options...
BenjaminKalytta Posted September 23, 2004 Share Posted September 23, 2004 (edited) Yes indeed there was a bug inside.Please not, I changed meaning of ?! and ?=.file?! test for non existence of a file (it's more logical)file?= test for existence of a filePlease download 2.1.11.x versionBenjamin Edited September 23, 2004 by BenjaminKalytta Link to comment Share on other sites More sharing options...
Morkeleb Posted September 23, 2004 Author Share Posted September 23, 2004 Thanx.Now it works.Btw, the new window is for detailed description as I grasped.It doesnt, work yet, does it?If it works, which ini parameter sets the detailed description?And there is another thing I noticed:I will install Nero also, and there is the main installation andthe additional German language pack.It makes sense only to install the second if the first is installed.Currently I have it like:command.5.0.0 = %systemdrive%\install\nero\Nero63120DEU.exe /silent /norebootdescription.5.0.0 = Nero Burning ROM 6.3120 Paket für deutsche Spracheselected.5.0.0 = 1command.5.0 = %systemdrive%\install\nero\Nero63120.exe /silent /norebootdescription.5.0 = Nero Burning ROM 6.3120 Applikationselected.5.0 = 1command.5 = REGEDIT /S %systemdrive%\install\nero\nero6.regdescription.5 = Nero Burning ROM 6.3120selected.5 = 1But I am unsure:Does a greyed out checkbox with a check in itmean it is installed?The reg import is required for Nero for the installation to work,but I have not yet managed it to both make it required and hidden.Also in the way I set it here, as I understand, it is possible to onlyimport the reg file but not install anything.Is there a solution to this?Morke Link to comment Share on other sites More sharing options...
BenjaminKalytta Posted September 23, 2004 Share Posted September 23, 2004 Btw, the new window is for detailed description as I grasped.It doesnt, work yet, does it?You are right, I doesn't work at this moment because I'm currently not able to fully load rtf data (images, text and other objects)There will be a new keyword help.x=file.rtfDoes a greyed out checkbox with a check in itmean it is installed?Yes greyed means it is checked, but some of it's subitems may be (not necessarily) unchecked.I would do following:command.4.0.0 = %systemdrive%\install\nero\Nero63120DEU.exe /silent /norebootdescription.4.0.0 = Nero Burning ROM 6.3120 Paket für deutsche Spracheselected.4.0.0 = 1hidden.4.0.0 = 1command.4.0 = REGEDIT /S %systemdrive%\install\nero\nero6.regdescription.4.0 = Nero Burning ROM 6.3120 (Keys & Others)selected.4.0 = 1hidden.4.0 = 1command.4 = %systemdrive%\install\nero\Nero63120.exe /silent /norebootdescription.4 = Nero Burning ROM 6.3120 Applikation (Main Item)selected.4 = 1Benjamin Link to comment Share on other sites More sharing options...
Morkeleb Posted September 23, 2004 Author Share Posted September 23, 2004 The way you showed only leaves the user to install the whole thing or not.But I can live with that as its a german OS and it makes sense to also installthe german language for Nero always.Secondly the way I see it the registry is imported AFTER installing Nero,which will not work.So it should be:command.4.0.0 = %systemdrive\install\nero\Nero63120DEU.exe /silent /norebootdescription.4.0.0 = Nero Burning ROM 6.3120 Paket für deutsche Spracheselected.4.0.0 = 1hidden.4.0.0 = 1command.4.0 = %systemdrive%\install\nero\Nero63120.exe /silent /norebootdescription.4.0 = Nero Burning ROM 6.3120 Applicationselected.4.0 = 1hidden.4.0 = 1command.4 = REGEDIT /S %systemdrive%\install\nero\nero6.regdescription.4 = Nero Burning ROM 6.3120selected.4 = 1Oh, why do the subsections have to come before?I've tried it the other way around but it doesnt work then.And theres another thing I noticed about the version check:There is a file ctaud2k.sys with version 5.12.1.323 and I wish tocheck that it is equal or larger.But the following code does not have the installation enabled.command.1 = "%systemdrive%\drivers\005_Audio\eax4drv_audigy2\CtPanel_Silent.exe"description.1 = Creative Audigy 2 Control Panelfile.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?>5.12.1.322selected.1 = 1locked.1 = 1Alsofile.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?>5.12.1.323file.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?=5.12.1.323file.comparison.1 = ORdoes not enable installation. Only an exact check (?=) withoutcomparison works in my tests.Is this a bug?If not, how do I have to formulate the checks?Morke Link to comment Share on other sites More sharing options...
BenjaminKalytta Posted September 23, 2004 Share Posted September 23, 2004 The way you showed only leaves the user to install the whole thing or not.But I can live with that as its a german OS and it makes sense to also installthe german language for Nero always.What was your intention again?You could just remove hidden.x key or add another subkey in this way:command.4.0 = %systemdrive%\install\nero\Nero63120.exe /silent /norebootdescription.4.0 = Nero Burning ROM 6.3120 Applicationselected.4.0 = 1command.4.1 = %systemdrive\install\nero\Nero63120DEU.exe /silent /norebootdescription.4.1 = Nero Burning ROM 6.3120 Paket für deutsche Spracheselected.4.1 = 1command.4 = REGEDIT /S %systemdrive%\install\nero\nero6.regdescription.4 = Nero Burning ROM 6.3120selected.4 = 1Oh, why do the subsections have to come before?I've tried it the other way around but it doesnt work then.Ordering is TOTALLY unimportant here, it can have any order!file.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?>5.12.1.322Will check if version of current ctaud2k.sys is less/equal than 5.12.1.322. If greater, it will return false (unchekced, striked out) ... or in other words check if 5.12.1.322 is greater than version of ctaud2k.sys. I know that's a bit confusing, but I once introduced it so, would make some trouble if I would change this behaviour now.file.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?>5.12.1.323file.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?=5.12.1.323file.comparison.1 = ORSince you want compare 2 entries, you have to append correct sub index here. There can't be file.1.0 multiple times!Please use:file.1.0 = %systemroot%\system32\drivers\ctaud2k.sys?>5.12.1.323file.1.1 = %systemroot%\system32\drivers\ctaud2k.sys?=5.12.1.323file.comparison.1 = ORNote: key.x.n and file.x.n have an additional index "n"Benjamin Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now