I have the following procedure in a asp file. Its design to remove a element from kart.xml using DOM. When I save the node tree back to kart.xml using xmldoc.Save(strPath). I get the following error

msxml3.dll (0x80070005)
Access is denied

My msxml3.dll files is store in my windows/system32 dir which is read only. I prefer to keep this dir read only. How do I over come this problem ?

My code is below

private sub deleteKart(v_ISBN)
dim xmldoc,v_counter,v_counter2,v_counter3,v_test,xmlRoot,xmlNodes,xmlItem,curNode,tempNode
dim strPath
dim v_foundone
dim v_shopISBN, v_shopTITLE, v_shopPRICE, v_shopDATE
'dim fileObject

strPath = Server.MapPath("kart.xml")
set xmldoc = Server.CreateObject("Microsoft.XMLDOM")
xmldoc.Async = false
if not xmldoc.Load(strPath) then
response.Write "did not load"
'do some here not sure what
end if
Application.Lock()
set xmlRoot = xmldoc.documentElement
set xmlNodes = xmlRoot.ChildNodes
for each xmlItem In xmlNodes
set curNode = xmlItem.firstChild
set tempNode = curNode
if v_ISBN = curNode.firstChild.NodeValue then
xmlRoot.RemoveChild(xmlItem)
end if
next
'response.Write xmldoc.xml
xmldoc.Save(strPath)
Application.UnLock()
end sub