I have COM object that my client need to use from ASP pages. The situation I have is:
1. The COM object runs fine under user account (e.g. from VB and Wsh)
2. The COM object runs fine from ASP if IIS anon account is a user account, such as local 'Administrator'.
3. The COM object runs fine from ASP on my developer environment, where IIS anon account is 'IUSR_machinename'.
4. The COM object fails to launch from ASP on my client's production (where IIS anon account is 'IUSR_machinename'), with ASP error 0178 (Server.CreateObject failed, permission denied). The COM dll resides on his server locally, i.e. no DCOM.
Basically I want to know what exactly I'm supposed to do to make the COM object work on that production machine. Here are the steps I've already taken:
1. I've set the security permission for the folder where the asp resides to 'readable' by 'everyone'.
2. I've set the security permission for the folder where the COM dll resides to 'readable' by 'everyone'.
3. I've set the IIS directory security to readable and selected 'scripts and executables'.
3. In dcomcfg, I've added IUSR_.. and IWAM_.. to default access (allowed).
4. In dcomcfg, I've added IUSR_.. and IWAM_.. to default launch permissions (allow launch).
.. But I couldn't make it work on his IIS. Even worse, even when I tried to 'reverse' the procedure on my develop machine to reproduce the problem, I couldn't make it *not* work. (The dconcnfg stuff should be irrelevant anyway since it's COM and not DCOM.) After researching on the web, it seems like there's a way to set 'execute' permission or something for COM objects on IIS, but I can't find where/how to do it. Any suggestions?