You may find that you are unable to import Microsoft Volume Licensing Software (MVLS) information into a System Center Configuration Manager 2007 (ConfigMgr 2007) Asset Intelligence catalog. During the import of software license information you get the following error:
Failed to Import Licensing Data into the Site Database
This can occur due to formatting issues with the MVLS .XML file. To verify whether this is your issue, open the .XML file in Notepad and for each cell in Column C (excluding the header) check to see whether some data is treated as a Number instead of Text (String). If so then this is the cause of the issue. For example:
Incorrect Format (Column C)
<Cell><Data ss:Type="String">Office Premium</Data></Cell>
Correct Format (Column C)
This issue can occur if the product version code has only a numeric value (e.g. 2010, 2007, 2005, etc.). On the contrary, if we have a product named Windows 7 Enterprise, where the version code is 7 Enterprise and contains non-numeric characters, when we download the MVLS file it tags the version code of 7 Enterprise as a String which is correct.
To resolve this, when the version code contains numeric values only we need to change the Column C format from Number to String.
For each cell in column C (excluding the header) add the character ' before the data so Excel treats it as a string and not a number. Here is a way to automate this:
1. Open .Xml file in Excel
2. Add Developer Tab on the Ribbon
a. Start the Office application (Word 2010, Excel 2010, Outlook 2010, or PowerPoint 2010). b. Choose the File tab, and then choose Options. c. In the categories pane, choose Customize Ribbon. d. In the list of main tabs, choose Developer. e. Choose the OK button to close the Options dialog box.
a. Start the Office application (Word 2010, Excel 2010, Outlook 2010, or PowerPoint 2010).
b. Choose the File tab, and then choose Options.
c. In the categories pane, choose Customize Ribbon.
d. In the list of main tabs, choose Developer.
e. Choose the OK button to close the Options dialog box.
See How to: Show the Developer Tab on the Ribbon for more information: http://msdn.microsoft.com/en-us/library/bb608625.aspx
3. Now we need to run a VBA procedure to modify the Excel file. To do this, on the Developer tab, in the Code group, click Macro Security.
4. In the Macro Settings category, under Macro Settings, click Enable all macros (not recommended, potentially dangerous code can run), and then click OK.
Note: To help prevent potentially dangerous code from running, we recommend that you return to any one of the settings that disable all macros after you finish working with macros.
5. Save and close all open workbooks.
6. Open the workbook where you want to add the macro, or create a new workbook, and on the Developer tab, in the Code group, click Visual Basic(Alternatively you can press Alt+F11).
7. In the Project Explorer window, right-click the ThisWorkbook object, and then click View Code
For more details on this, see Run a macro at http://office.microsoft.com/en-us/excel-help/run-a-macro-HP010014113.aspx. Refer to section titled Create a VBA procedure for the Open event of a workbook
8. Copy in the code below (Note: You can change Collimit to number of rows you have in .XML file):
Sub test() Dim s As String Dim colname As String colname = "C" Dim collimit As Integer collimit = 75 For i = 2 To collimit s = colname & i If Range(s).Value2 = "" Then Else Range(s).Value2 = "'" & Range(s).Value2 End If Next End Sub
It should look something like this:
9. Press F5 to Run Macro
10. Choose the File tab, Save .XML File(Ctrl+S)
11. Click Yes on the warning:
12. Verify each cell in column C (excluding the header) has the character ' before the data:
13. Import Software License Information in Configuration Manager. For more information on how to do this, see How to Import Software License Information at http://technet.microsoft.com/en-us/library/cc161913.aspx
1. Manually edit the .XML file in Notepad and change the Type value for each affected line from Number to String for the third cell:
2. Import Software License Information in Configuration Manager.
Shobhit Garg | Senior Support Engineer Vinayak Sharma | Support Engineer
Get the latest System Center news on Facebook and Twitter:
App-V Team blog: http://blogs.technet.com/appv/ ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/ DPM Team blog: http://blogs.technet.com/dpm/ MED-V Team blog: http://blogs.technet.com/medv/ Orchestrator Support Team blog: http://blogs.technet.com/b/orchestrator/ Operations Manager Team blog: http://blogs.technet.com/momteam/ SCVMM Team blog: http://blogs.technet.com/scvmm Server App-V Team blog: http://blogs.technet.com/b/serverappv Service Manager Team blog: http://blogs.technet.com/b/servicemanager System Center Essentials Team blog: http://blogs.technet.com/b/systemcenteressentials WSUS Support Team blog: http://blogs.technet.com/sus/
The Forefront Server Protection blog: http://blogs.technet.com/b/fss/ The Forefront Endpoint Security blog : http://blogs.technet.com/b/clientsecurity/ The Forefront Identity Manager blog : http://blogs.msdn.com/b/ms-identity- support/ The Forefront TMG blog: http://blogs.technet.com/b/isablog/ The Forefront UAG blog: http://blogs.technet.com/b/edgeaccessblog/
Has anyone else reported a problem with the all-licenses.csv import in SCCM2007 and 2012? SCCM2007 will not allow the file to import if it contains two records that are identical in the Name and Publisher fields and the same up to the 3rd character in the Version field. SCCM2007 database stores any number of products with similar versions found on the network, for example 14.0.4763 and 14.0.6029, but attempting to import the all-license file containing both records produces the same error as shown above for the MVLS file. Change one record to be version 14x and the upload works. In SCCM2012 the import works but strips out one record. I thought this may be related to the Version field format but this is a .csv file. Any ideas?
Thank you - this worked for me.