Before beginning the upgrade process to Configuration Manager 2007 SP1, the Windows AIK 1.0 should be uninstalled from the SMS Provider computer for the site to allow SP1 Setup to install Windows AIK 1.1 to support SP1 OSD WIM images.
If the Windows AIK 1.0 is not uninstalled prior to beginning SP1 Setup, and a PXE service point is installed in the site running the Windows Deployment Services (WDS) Server service, the upgrade might fail and result in an unexpected restart and post-upgrade SMS Executive service crashes.
|
How to Upgrade the Windows Automated Installation Kit During Site Upgrades to Configuration Manager 2007 SP1 |
Because Configuration Manager 2007 SP1 sites require Windows AIK version 1.1 to be installed on the SMS Provider computer, the Windows AIK must be upgraded to version 1.1 from version 1.0 during primary site upgrades to Configuration Manager 2007 SP1. If a PXE service point site system has not been installed for the site to be upgraded, Configuration Manager 2007 SP1 Setup will automatically upgrade the Windows AIK 1.0 installation on the SMS Provider computer to version 1.1 during the upgrade process. However, if a PXE service point has been installed for the site to be upgraded, the Windows AIK should be manually uninstalled from the SMS Provider computer for the site before beginning service pack installation. If the Windows Deployment Services (WDS) Server service is running, and has the wimgapi.dll file is in use, an unexpected restart can occur while upgrading the site to Configuration Manager 2007 SP1.
For more information about troubleshooting unexpected system restarts during Configuration Manager 2007 SP1 Setup, see Troubleshooting Configuration Manager 2007 SP1 Setup.
If a PXE service point site system is installed on a computer other than the SMS Provider computer for a site, the wimgapi.dll file used by PXE service point components is not updated to the newest version. Because the updated wimgapi.dll file version is required for Configuration Manager 2007 SP1 PXE service points, operating system deployments using the remote PXE service point will fail until the file is replaced with the new version.
The following procedures can be used to upgrade the Windows AIK during site upgrades to Configuration Manager 2007 SP1 when a PXE service point site system has been installed for the site.
To Upgrade Windows AIK When a PXE Service Point Site System Role is Installed on the SMS Provider Computer for a Site
- On the computer hosting both the PXE service point and SMS Provider site system roles for the site to be upgraded, manually uninstall Windows AIK 1.0 from Add or Remove programs and restart the operating system to complete the uninstallation.
- Stop the Windows Deployment Services (WDS) Server service. At a command prompt, enter the following command to stop the service: net stop WDSServer and run Configuration Manager 2007 SP1 Setup to upgrade the site and allow Windows AIK 1.1 to be installed.
- After the site has been successfully upgraded, restart the Windows Deployment Services (WDS) Server service. At a command prompt, enter the following command to start the service: net start WDSServer.
To Upgrade Windows AIK Files on Remote PXE Service Point Site Systems After Configuration Manager 2007 Service Pack 1 Installation
- On the computer hosting the PXE service point site system role, stop the Windows Deployment Services (WDS) Server service. At a command prompt, enter the following command to stop the service: net stop WDSServer.
- On the PXE service point computer, navigate to the .\sms\wim directory and run the wimgapi.msi file to install the new version of wimgapi.dll.
|
Note |
|
A new version of this file is distributed to the site system as part of the Configuration Manager 2007 SP1 upgrade process.
|
- After the successfully upgrading wimgapi.dll to the correct version, restart the Windows Deployment Services (WDS) Server service. At a command prompt, enter the following command to start the service: net start WDSServer.
Already tried to upgrade to Configuration Manager 2007 SP1 without following the above procedures? You might have encountered some unexpected restarts and had some SMS Exec service crashes. Here's how to fix them:
Configuration Manager 2007 SP1 Setup May Cause Unexpected Restarts
If a PXE service point has been installed for the site to be upgraded, the Windows AIK should be manually uninstalled from the SMS Provider computer for the site before beginning service pack installation. If the site server being upgraded has the Windows Deployment Services (WDS) Server service running, and the wimgapi.dll file is in use, an unexpected restart can occur because Windows AIK 1.1 installation requires a system restart to replace this file. Additionally, after the computer restarts, the SMS Executive Configuration Manager Service might fail repeatedly.
Solution
The following procedure can be used to prevent further unexpected restarts during the SP1 upgrade and troubleshoot SMS Executive service failures.
To prevent further unexpected restarts during the SP1 upgrade and troubleshoot SMS Executive service failures
- Manually uninstall the failed Windows AIK 1.1 installation from Add or Remove programs and restart the computer.
- Stop the Windows Deployment Services (WDS) Server service. At a command prompt, enter the following command to stop the service: net stop WDSServer.
- Determine if the SMS Executive service is failing by reviewing the contents of the .\<Configuration Manager Installation Directory>\Logs directory for the presence of a CrashDumps folder. If this folder exists, check for sub-folders created after the unexpected restart.
- If subfolders were created in the CrashDumps directory after the unexpected system restart, navigate to the .\ <Configuration Manager Installation Folder>\inboxes\hman.box directory and delete any files present with a .ct2 file extension.
- Run Configuration Manager 2007 SP1 Setup to upgrade the site and allow Windows AIK 1.1 to be installed.
- After the site has been successfully upgraded, restart the Windows Deployment Services (WDS) Server service on the SMS Provider computer. At a command prompt, enter the following command to start the service: net start WDSServer.
Questions about how to use subselect queries seem to come up a lot, and I can never find a good example to use when I go looking for a subselect query. I found this example from Curtis Sawin (a senior Microsoft consultant) today for creating a collection of computers that did not have Project 2003 installed and I figured that I would post it to my blog so that the next time I needed an example of this I wouldn't have to go looking through my bag of tricks (aka collection of snippets spread around about four different computers!).
So, the next time I need a good example of a subselect query I'll just come check this post out...you're welcome to do the same.
From Curtis:
"The reason you need to use a subselected values query is that computers have several entries in ARP, thus all computers have at least one entry in ARP that doesn't equal "Project 2003." Thus, you need to look for resources that have Project, and then look for computers that don't fall in to that query."
And:
"Checking for computers that are not in the results of another query will also return discovered computers that are not ConfigMgr clients (and thus have no ARP data). The way to work around this is to include the query "client = 1" to ensure you're only getting ConfigMgr clients."
And the resulting subselect query:
select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System where SMS_R_System.ResourceId not in (select SMS_R_System.ResourceId from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "<Software Title>") and SMS_R_System.Client = 1
NOTE: I've modified the query a little to make it a generic software title subselect query so you'll need to change the <Software Title> text between the quotation marks to the display name for the software title you're after—don't forget to get rid of the <>'s.
Here are some screen shots of what you should be seeing in your collection properties now:

Subselect query criteria screen shot

Subselect query WQL statement screen shot (yours shouldn't say <Software Title>)
Here's the handy C&P method of creating a collection based on a subselect query:
- Right-click Collections
- Click New Collection from the context menu
- Give the collection a name and a comment if you want to
- On the Membership Rules page of the New Collection Wizard, click the database query button
- Give the query a name
- Click Edit Query Statement...
- Click Show Query Language
- C&P the subselect query above to overwrite the default select * from SMS_R_System (make sure you change <Software Title> to a real software title!)
- Click OK
- Click OK
- Finish the wizard
Viola! A new collection based on a subselect query! Update the collection membership and hopefully you see what you're looking for!
Afraid you'll lose this little subselect query? Here's an easy way to keep it handy when you need it. Navigate down the console to Queries under Computer management and create a new query using the WQL I posted earlier (leave <Software Title> in it) and name it something inventive like "Subselect Query By Software Title".
Now, the next time you want to create a collection of computers without a software title installed, you can click Import Query Statement (as opposed to Edit Query Statement… above in step 6) and select your pre-made subselect query. Modify the collection's query statement as necessary and you're off with just a few clicks. Your query down at the bottom isn't changed when you modify the query statement for the collection and so you can re-use the snippet as often as your heart desires.
I'm updating the official documentation for this right now, but since there seems to be a lot of confusion about this process, I figured I'd post here as well. This way the information will be 'out there' before the next documentation update to the Web (planned for when Configuration Manager 2007 R2 RTM's).
First off, you can only do this with the Asset Intelligence feature included in Configuration Manager 2007 SP1 so if you are not running that stop reading and go upgrade your site!
Anyway, the quick intro to this is that by using the Asset Intelligence License Import Wizard included in ConfigMgr SP1, you can import both Microsoft and non-Microsoft software license information into the site database to help in inventorying the licensed software in use in your enterprise. You can then use Asset Intelligence reports to compare what you have versus what you paid for. Pretty handy.
NOTE: Microsoft MVLS license import files need to be in .xml format and non-Microsoft license import files need to be in .csv format to import the information into the site database.
Regardless of whether or not you're importing Microsoft MVLS license information or non-Microsoft software license information, the license information stored in the database is completely overwritten with the new values in the import file so make sure that the license file you import is all-inclusive or else you might lose some licenses already stored in the database.
This post isn't about importing MVLS license statements into the site database, but rather how to create your own "3rd party", non-Microsoft license import file. That's not to say you can't have Microsoft software license information in the file, just that it's not a direct conversion from an MVLS license file.
So that's the preamble and here is a snippet from the topic with the procedure for importing non-Microsoft licenses using Microsoft Office Excel and the Asset Intelligence License Import Wizard:
The following procedure describes the process that can be used to create a non-Microsoft software license import file using Microsoft Office Excel.
To Create a non-Microsoft License Import File Using Microsoft Office Excel
- Open Microsoft Office Excel and create a new spreadsheet.
- On the first row of the new spreadsheet, enter all software license data field names.
|
Note |
|
While all header fields must be defined on the first row, only the Name, Publisher, Version, and Effective Quantity fields are required to contain data on subsequent rows. All fields requiring a date formatted entry should be entered in the following format: Month/Day/Year as in this example: 8/4/2008. |
- On the second and subsequent rows of the new spreadsheet, enter software license information as required. Ensure that at least all of the required software license data fields are entered on subsequent rows for each software license to be imported. The software title name entered in the spreadsheet must be the same as the software title that is displayed in Resource Explorer for a client computer after hardware inventory has run.
- From the Microsoft Office Excel file menu, save the file in .csv format.
- Copy the .csv file to the file share that will be used to import software license information into the Asset Intelligence catalog using the Asset Intelligence License Import Wizard.
- From within the Configuration Manager console, use the Asset Intelligence License Import Wizard to import the newly created .csv license information file.
- Run the Asset Intelligence License 15A – Third Party Software Reconciliation Report to verify that the licensing information has been successfully imported into the Asset Intelligence catalog.
When everything is ready to go (with only the required fields filled in), your .csv should look something like this:
|
Name |
Publisher |
Version |
Language |
EffectiveQuantity |
PONumber |
ResellerName |
DateOfPurchase |
SupportPurchased |
SupportExpirationDate |
Comments |
|
Software Title 1 |
Software Publisher 1 |
1 |
|
1 |
|
|
|
|
|
|
|
Software Title 2 |
Software Publisher 2 |
1 |
|
2 |
|
|
|
|
|
|
|
Software Title 3 |
Software Publisher 3 |
1.1 |
|
3 |
|
|
|
|
|
|
|
Software Title 4 |
Software Publisher 4 |
1.2 |
|
4 |
|
|
|
|
|
|
|
Software Title 5 |
Software Publisher 5 |
1.3 |
|
5 |
|
|
|
|
|
|
|
Software Title 6 |
Software Publisher 6 |
1.4 |
|
6 |
|
|
|
|
|
|
|
Software Title 7 |
Software Publisher 7 |
1.5 |
|
7 |
|
|
|
|
|
|
|
Software Title 8 |
Software Publisher 8 |
1.6 |
|
8 |
|
|
|
|
|
|
|
Software Title 9 |
Software Publisher 9 |
1.7 |
|
9 |
|
|
|
|
|
|
|
Software Title 10 |
Software Publisher 10 |
1.8 |
|
10 |
|
|
|
|
|
|
When viewed with notepad it looks like this:
Name,Publisher,Version,Language,EffectiveQuantity,PONumber,ResellerName,DateOfPurchase,SupportPurchased,SupportExpirationDate,Comments
Software Title 1,Software Publisher 1,1,,1,,,,,,
Software Title 2,Software Publisher 2,1,,2,,,,,,
Software Title 3,Software Publisher 3,1.1,,3,,,,,,
Software Title 4,Software Publisher 4,1.2,,4,,,,,,
Software Title 5,Software Publisher 5,1.3,,5,,,,,,
Software Title 6,Software Publisher 6,1.4,,6,,,,,,
Software Title 7,Software Publisher 7,1.5,,7,,,,,,
Software Title 8,Software Publisher 8,1.6,,8,,,,,,
Software Title 9,Software Publisher 9,1.7,,9,,,,,,
Software Title 10,Software Publisher 10,1.8,,10,,,,,,
I hope this helps!