Jump to content

a sample autounattend.xml - working good


Recommended Posts

here's a working sample, made for my preferences, shared here for those who might have been having problems with their XML, & so would like to take a look at a confirmed-working sample for reference. After making use of this xml, all you need is your logic.

Once i finished making it, i tried to avoid the WSIM (from WAIK) as much as possible, since WSIM needs .NET 2.0 & is complex & crashy.

Attempted to include as many commonly-used options as possible, with quite a few being setup as default, but the settings are still exposed here so that you can change it to your liking. I've provided a lot of entry points to run custom setups, etc.

This is for Vista Ultimate - the other editions are subsets of it, so you just need to strip out relevant parts, if you're using Vista Business/HomePremium/etc.

note - i've supplied "REMOVED" as the key, you need to replace it with your own.

note2 - updated to remove superfluous tags

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<servicing>
<package action="configure">
<assemblyIdentity name="Microsoft-Windows-Foundation-Package" version="6.0.6000.16386" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="" />
<selection name="TabletPCOC" state="true" />
<selection name="TelnetClient" state="false" />
<selection name="TelnetServer" state="false" />
<selection name="Windows-Ultimate-Extras" state="true" />
<selection name="AxInstallService" state="false" />
<selection name="FaxServicesUltimate" state="true" />
<selection name="IIS-WebServerRole" state="false" />
<selection name="InboxGames" state="true" />
<selection name="Indexing-Service-Package" state="false" />
<selection name="Microsoft-Windows-RemovableStorageManagement" state="false" />
<selection name="XPS-Viewer" state="true" />
<selection name="Printing-Foundation-Features" state="true" />
<selection name="SUA" state="false" />
<selection name="NetFx3" state="true" />
</package>
</servicing>
<settings pass="specialize">
<component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Help_Page>http://www.google.com</Help_Page>
<Home_Page>about:blank</Home_Page>
<FilterLevel>Medium</FilterLevel>
<BlockPopups>yes</BlockPopups>
<ShowInformationBar>true</ShowInformationBar>
<FavoritesDelete>false</FavoritesDelete>
<IEWelcomeMsg>true</IEWelcomeMsg>
<PlaySound>true</PlaySound>
</component>
<component name="Microsoft-Windows-ehome-reg-inf" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DisableExpressSetup>false</DisableExpressSetup>
</component>
<component name="Microsoft-Windows-RemoteAssistance-Exe" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fAllowToGetHelp>false</fAllowToGetHelp>
</component>
<component name="Microsoft-Windows-Security-Licensing-SLC-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Username>Administrator</Username>
<Enabled>true</Enabled>
<LogonCount>2</LogonCount>
</AutoLogon>
<BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
<Display>
<ColorDepth>32</ColorDepth>
<DPI>120</DPI>
<HorizontalResolution>1024</HorizontalResolution>
<RefreshRate>75</RefreshRate>
<VerticalResolution>768</VerticalResolution>
</Display>
<Themes>
<DefaultThemesOff>false</DefaultThemesOff>
</Themes>
<WindowsFeatures>
<ShowInternetExplorer>true</ShowInternetExplorer>
<ShowMediaCenter>true</ShowMediaCenter>
<ShowWindowsMail>true</ShowWindowsMail>
<ShowWindowsMediaPlayer>true</ShowWindowsMediaPlayer>
</WindowsFeatures>
<RegisteredOwner>0wner</RegisteredOwner>
<RegisteredOrganization>0wn Inc.</RegisteredOrganization>
<DoNotCleanTaskBar>false</DoNotCleanTaskBar>
<StartPanelOff>false</StartPanelOff>
<ShowWindowsLive>true</ShowWindowsLive>
<CopyProfile>true</CopyProfile>
<ComputerName>Computer</ComputerName>
<TimeZone>India Standard Time</TimeZone>
</component>
<component name="Microsoft-Windows-SQMApi" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CEIPEnabled>0</CEIPEnabled>
</component>
<component name="Microsoft-Windows-SystemRestore-Main" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DisableSR>1</DisableSR>
</component>
<component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fDenyTSConnections>true</fDenyTSConnections>
</component>
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Identification>
<JoinWorkgroup>LAN</JoinWorkgroup>
</Identification>
</component>
<component name="Security-Malware-Windows-Defender" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DisableAntiSpyware>false</DisableAntiSpyware>
</component>
<component name="Networking-MPSSVC-Svc" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FirewallGroups />
<DomainProfile_EnableFirewall>true</DomainProfile_EnableFirewall>
<PrivateProfile_EnableFirewall>true</PrivateProfile_EnableFirewall>
<PublicProfile_EnableFirewall>true</PublicProfile_EnableFirewall>
<PrivateProfile_DisableNotifications>false</PrivateProfile_DisableNotifications>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-ehome-reg-inf" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<WorkOffline>false</WorkOffline>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OEMInformation>
<Logo>%SystemRoot%\120x120x32.bmp</Logo>
<Manufacturer>Alienware</Manufacturer>
<Model>top-of-the-line model</Model>
<SupportURL>http://www.google.com</SupportURL>
</OEMInformation>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Home</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipMachineOOBE>true</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>QueCera</Value>
<PlainText>true</PlainText>
</Password>
<Description>the PC doctor!</Description>
<DisplayName>Vaidh</DisplayName>
<Group>Administrators</Group>
<Name>Vaidh</Name>
</LocalAccount>
<LocalAccount wcm:action="add">
<Description>everyday use</Description>
<DisplayName>Normal Usage</DisplayName>
<Group>Users</Group>
<Name>Normal Usage</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<VisualEffects>
<FontSmoothing>Standard</FontSmoothing>
</VisualEffects>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>%SystemDrive%\install\GUIrunOnce.cmd</CommandLine>
<Description>customises settings</Description>
<Order>20</Order>
</SynchronousCommand>
</FirstLogonCommands>
</component>
<component name="Microsoft-Windows-Sidebar" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SidebarOnByDefault>false</SidebarOnByDefault>
<SidebarVisible>false</SidebarVisible>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UserLocale>en-US</UserLocale>
<UILanguageFallback>en-US</UILanguageFallback>
</component>
</settings>
<settings pass="auditSystem">
<component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DriverPaths>
<PathAndCredentials wcm:keyValue="cd7c395" wcm:action="add">
<Path>%SystemRoot%\PnPdrvrs</Path>
</PathAndCredentials>
</DriverPaths>
</component>
</settings>
<settings pass="generalize">
<component name="Microsoft-Windows-Security-Licensing-SLC" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipRearm>0</SkipRearm>
</component>
<component name="Microsoft-Windows-SharedAccess" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EnableICS>false</EnableICS>
</component>
</settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Diagnostics>
<OptIn>false</OptIn>
</Diagnostics>
<DiskConfiguration>
<WillShowUI>Always</WillShowUI>
</DiskConfiguration>
<DynamicUpdate>
<Enable>false</Enable>
</DynamicUpdate>
<UserData>
<ProductKey>
<WillShowUI>Never</WillShowUI>
<Key>REMOVED</Key>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>0wner</FullName>
<Organization>0wn Inc.</Organization>
</UserData>
<ComplianceCheck>
<DisplayReport>Never</DisplayReport>
</ComplianceCheck>
<LogPath>%SystemRoot%\temp</LogPath>
<UseConfigurationSet>true</UseConfigurationSet>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Value>Windows Vista ULTIMATE</Value>
<Key>1</Key>
</MetaData>
</InstallFrom>
<WillShowUI>OnError</WillShowUI>
</OSImage>
</ImageInstall>
</component>
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>en-US</UILanguage>
<WillShowUI>Never</WillShowUI>
</SetupUILanguage>
<InputLocale>en-US</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
</component>
</settings>
<settings pass="auditUser">
<component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Description>command1</Description>
<Order>10</Order>
<Path>cmd /C %SystemDrive%\install\one.cmd</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Description>command2</Description>
<Order>20</Order>
<Path>cmd /C %SystemDrive%\install\cmdlines.cmd</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:k:/sources/install.wim#Windows Vista ULTIMATE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Edited by prathapml
Link to comment
Share on other sites


Thanks prathapml

Noticed you toggled on many features there.Excellent example :thumbup . One question though in PNP drivers you have the following:



<DriverPaths>
<PathAndCredentials wcm:keyValue="cd7c395" wcm:action="add">
<Path>%SystemRoot%\PnPdrvrs</Path>
</PathAndCredentials>
</DriverPaths>

I read the help files re the driver paths & noticed above in your key value of "cd7c395" normally 1,2 or 3? what is the relevance of the key value to the location of the driver path?

Is there an example of running the driver path directly from the DVD, like we use to? :hello:

Link to comment
Share on other sites

prathapml, Once i finished making it, i tried to avoid the WSIM (from WAIK)

it is WSIM that has added the keyValue="cd7c395"

i try to use full paths to drivers i,e,

- <DriverPaths>
- <PathAndCredentials wcm:action="add" wcm:keyValue="1">
<Path>G:\sources\pnpDrivers\1</Path>
</PathAndCredentials>
- <PathAndCredentials wcm:action="add" wcm:keyValue="2">
<Path>G:\sources\pnpDrivers\2</Path>
</PathAndCredentials>
</DriverPaths>

G:\ is DVD drive but this can vary obviously from different systems

Edited by urie
Link to comment
Share on other sites

Thats true, WSIM has assigned that key - and its just a random one, WSIM assigns such a key only because of the assumption that a lot of folders are going to be added & therefore single-digit numbers or alphabets are going to run out.

And well, using absolute paths would be a nightmare. There's no existing solution that i'm aware of, to get drivers from DVD (unless you mean injecting the drivers into the install.WIM, but that still gets extracted to hard disk & only then used, so its still useless).

Link to comment
Share on other sites

There's no existing solution that i'm aware of, to get drivers from DVD (unless you mean injecting the drivers into the install.WIM, but that still gets extracted to hard disk & only then used, so its still useless).

This is my experience here, too. I realy start liking the new Vista deployment, but I've no clue what they were thinking about, when programing this painful driver handling. You've three diferent methods mainly to install drivers but all of them will copy the drivers to the Windows driver store and waste time and space. :angry:

I can't imagine that's so difficult to program a method where drivers are checked before becoming integrated to the driver store. :whistle:

Expect from that I do like the new Vista deployment!

Much thanks for sharing your knowledge prathapml! :thumbup

Martin

EDIT:

I was telling something wrong here. It seems to be possible to integrate drivers to .wim file based on a machines hadware only. I've read it in a MS ppt. There were no details about the procedure. I'm not sure if it will work for installation from DVD but it will work for WDS installs. Try to find out more ATM...

Edited by FireGeier
Link to comment
Share on other sites

And well, using absolute paths would be a nightmare. There's no existing solution that i'm aware of, to get drivers from DVD (unless you mean injecting the drivers into the install.WIM, but that still gets extracted to hard disk & only then used, so its still useless).

:no: WSIM applys single numbers here each time I used it to add a driver 1,2,3

Makes no difference though unless you need a special order

:no: absolute does work without a hitch cause I been doing that since RC1

First thing we got going cause drivers are important to get the sound and video right

<Path>F:\sources\pnpDrivers\1</Path>

But of course you must test and figure out which drive letter the DVD will be, kinda a no brains thing

Might add i do that in the beginning and it holds all the way through to having the drivers installed when it boots the desktop. My resolution is what I want all the way through my UA setups doing it that way.

Lot out there to learn on this Vista isn't it

EDIT: FireGeier im workin on that myself from DVD

Edited by maxXPsoft
Link to comment
Share on other sites

I'm using an usb key to complete unattended install, I use the

<UseConfigurationSet>true</UseConfigurationSet>

From

<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

In the WindowsPE Pass.

This way i can use the %configsetroot% variable to point out to my USB Drive letter, it works to add drivers, just use %configsetroot%\drivers\BLA

to point to the USBDRIVE\Drivers\BLA folder :)

maybe if you unattend from dvd you can you this trick to point to your DVD as %configsetroot% refers to the letter of the drive where Autounattend.xml resides.

Link to comment
Share on other sites

I'm using an usb key to complete unattended install, I use the

<UseConfigurationSet>true</UseConfigurationSet>

From

<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

In the WindowsPE Pass.

This way i can use the %configsetroot% variable to point out to my USB Drive letter, it works to add drivers, just use %configsetroot%\drivers\BLA

to point to the USBDRIVE\Drivers\BLA folder :)

...

Thanks, a lot for that info EmRoD!!! :thumbup

But I have one more question belonging to that: Does your solution copy over all drivers from drivers\BLA or only the drivers which are needed by the system?

Thanks again, for sharing that info!

Martin

Link to comment
Share on other sites

Hi

to add drivers to the winPE pass you have to use :

<Microsoft-Windows-PnpCustomizationsWinPE> In the Windows PE Pass

The Microsoft-Windows-PnpCustomizationsWinPE component is used to add one
or more out-of-box drivers to a Windows installation. Drivers that are located in the
path specified by DriverPaths are copied to the driver store of the Windows installation
during the windowsPE configuration pass.

You can add boot-critical as well as non-boot-critical drivers with this component to a
Windows image before it is installed.

To add them during the Offline servicing pass Use :

<Microsoft-Windows-PnpCustomizationsNonWinPE>

Those 2 ways Allows you to add Critical drivers NEEDED by the system. (Mass Strorage or network if use use net shares during installation.)

To add them copied during the auditSystem Pass, use :

<Microsoft-Windows-PnpCustomizationsNonWinPE> Int the AuditSystem Pass

The Microsoft-Windows-PnpCustomizationsNonWinPE component is used to add one or more
out-of-box drivers to a Windows installation. Drivers that are located in the path specified by
DriverPaths are copied to the driver store of the Windows installation during the auditSystem
configuration pass. When the system runs Plug and Play, these out-of-box drivers are available
to install hardware on the system.

Tha means To install Vista on a RAID Array, you have to use WinPE to add drivers.

if you want to add video drivers, you can just use the audit pass.

Edited by EmRoD
Link to comment
Share on other sites

Hello EmRoD!

I've tested your method using %configsetroot% and it's working like a charm! :w00t:

AND my final installation holds the drivers needed by the system only!!!

...

To add them copied during the auditSystem Pass, use :

<Microsoft-Windows-PnpCustomizationsNonWinPE> Int the AuditSystem Pass

...

I can't recommend to use AuditSystem pass to install drivers for the moment, cause you'll be prompted for the installation of unsigned drivers. And as long as we are in the state between, you would have to find a solution to suppress these prompts during audit mode. You'll not get these prompts for the same drivers, when integrating them to install.wim or installing them during WinPE pass.

However, I call you a hero EmRoD!

Vive la France, mon ami... vive la France! :thumbup

Martin

Edited by FireGeier
Link to comment
Share on other sites

Hello EmRoD!

I've tested your method using %configsetroot% and it's working like a charm! :w00t:

AND my final installation holds the drivers needed by the system only!!!

...

To add them copied during the auditSystem Pass, use :

<Microsoft-Windows-PnpCustomizationsNonWinPE> Int the AuditSystem Pass

...

I can't recommend to use AuditSystem pass to install drivers for the moment, cause you'll be prompted for the installation of unsigned drivers. And as long as we are in the state between, you would have to find a solution to suppress these prompts during audit mode. You'll not get these prompts for the same drivers, when integrating them to install.wim or installing them during WinPE pass.

However, I call you a hero EmRoD!

Vive la France, mon ami... vive la France! :thumbup

Martin

-> M$ indicates a way to create "test" signature for unisgned drivers on the waik user guide

Link to comment
Share on other sites

Hmm, went to read it, the AIK guide directs you to this link, for detailed info about using test signatures during install:

http://www.microsoft.com/whdc/winlogo/drvs..._practices.mspx

And its neither quick to implement, nor does it even look like a solution that the average user can use on an ad-hoc basis.... :(

Link to comment
Share on other sites

And its neither quick to implement, nor does it even look like a solution that the average user can use on an ad-hoc basis.... sad.gif

That's right, seems to be more an intermediate solution for driver developers.

But EmRoDs method is running fine 'n' is easy to use, so I call it the EmRoD-Method! :thumbup

Martin

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...