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)
<Row>
<Cell><Data ss:Type="String">Applications</Data></Cell>
<Cell><Data ss:Type="String">Office Premium</Data></Cell>
<Cell><Data ss:Type="Number">2000</Data></Cell>
<Cell><Data ss:Type="Number">50</Data></Cell>
<Cell><Data ss:Type="Number">0</Data></Cell>
<Cell><Data ss:Type="Number">0</Data></Cell>
</Row>
Correct Format (Column C)
<Row>
<Cell><Data ss:Type="String">Applications</Data></Cell>
<Cell><Data ss:Type="String">Office Premium</Data></Cell>
<Cell><Data ss:Type="String">2000</Data></Cell>
<Cell><Data ss:Type="Number">50</Data></Cell>
<Cell><Data ss:Type="Number">0</Data></Cell>
<Cell><Data ss:Type="Number">0</Data></Cell>
</Row>
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.
Method 1
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.
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
Method 2
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/