views:

152

answers:

5

We recently updated our main website. This included creating a new directory to hold the new site; then, some of the existing subdirectories needed to be copied over. Some of the virtual directories below the main site are clickonce publishing locations. These have been 100% successful publishing locations for 3 years now. We would update the application in Visual Studio and then publish... painless.

Very long story short, since we've copied the directories to the new main site location on disk, all of our clickonce sites except one will no longer publish. They all fail with an error saying "you are not authorized to perform the current operation". This is immeidately after we set permissions to Full Control for my domain user group. I've checked everything I know how to check as far as permissions go and made the non-working ones' permissions match the one that does work, but no joy.

We had problems on Friday and I fixed the one site that does work, but I can't remember how I fixed it; all I remember is that it took a long time screwing with it to make it work.

Could there be some arcane setting in IIS that has been omitted? Is there a simple list of things to check anywhere on the Net? ClickOnce information is scattered among 50,000 URLs and I haven't been able to figure it out again.

Thanks

A: 

A couple of questions. Are you publishing via Visual Studio? Are you using HTTP or FTP? If you are using HTTP and the server runs Windows Server, have you installed the Front Page Extensions? You're having problems publishing, not installing, right? Have you set up the MIME types? (Post back if you don't know what they are, and I'll post them).

On a note unrelated to publishing, did you change the installation URL for the applications, or were you able to keep the ones you were already using? Because if you change it, your users will have to uninstall and renistall unless you handle it. You might find this helpful.

RobinDotNet
A: 

Thanks for responding Robin, all very good questions. Here's the answers:

  1. Publishing via Visual Studio: yes, VS 2005 in this case.
  2. HTTP
  3. FP Extensions: Yes, installed. Not certain, but I think that's what got the one site working correctly last Friday. However, since I extended the entire parent site with the extensions, I figured on no more trouble on that front.
  4. Problems publishing, yes.
  5. MIME types: I don't recall any specialized MIME types that I had to configure manually prior to this issue, but I can always check them if you have some advice.
  6. We kept the exact same publication URLs, for precisely the reason you mention.

Thanks again for your response - I now have hope!

stephenfalken
A: 

These are the MIME types you need in order to host a ClickOnce application:
.application --> application/x-ms-application
.manifest --> application/x-ms-manifest
.deploy --> application/octet stream

If you are deploying .Net 3.5 as a prerequisite, you need these as well:

.msp --> application/microsoftpatch .msu --> application/microsoftupdate

If you have vsto apps, you need this one:

.vsto --> application/x-ms-vsto

See if that helps at all. I doubt it, because that's more for downloading than publishing.

Did you reboot after installing the FPE? Can you give me exactly what the error message is that you're getting?

RobinDotNet
Here's another thought. I was messing around with this today on Windows 7. I think the ClickOnce user might need write access to the folder to read the deployment manifest and install the application. So if you're still stuck, give that a try and let me know if it has any impact.
RobinDotNet
A: 

See if that helps at all. I doubt it, because that's more for downloading than publishing.

....exactly. As mentioned before, installation is not the problem - it's publishing. I can install fine.


Did you reboot after installing the FPE?

Yes


Can you give me exactly what the error message is that you're getting?

What happens is that I keep getiing re-prompted for my login info, as if I cannot authenticate on the server where I am trying to publish via http. Example:

  1. In Visual Studio 2005 with the ClickOnce project open, select Project -> Publish.

  2. I am prompted as usual to enter the URL to publish to; I do so, followed by the online or offline availablity setting.

  3. I am prompted to enter my login info to connect to [www.domain.com/ClickOncePublishingURL]. I enter my known good authentication info in the format DOMAINNAME\username and password.

  4. I am then re-prompted to enter my login info. This will continue indefinitely as long as I keep clicking OK.

  5. Finally I give up and click Cancel, and then of course I get the error that I am 'not authorized to perform the current operation'.

The exact method described above always worked in the past, but does not work now - except for one ClickOnce program. The other three, which are also hosted in subdirectories of the same webserver, all fail as summarized... and I can't figure out what is different about them.

So then I ask myself, what has changed since the last time they all worked? The answer is that our website is now in a new folder (same machine though), and the ClickOnce publication directories, with all their files, were copied to the new location in the new root folder of the main website.

IIS was then pointed at the new website location, and the new site put online. To compound the mystery, one ClickOnce site does work, but three won't let me log in. I am in the Domain Admins group at work, so I know my rights are maxed out.

I am convinced the problem is with permissions, but I can't find anything different between the several ClickOnce subdirectories on the webserver's disk.

Trying to figure out what I should be looking for, maybe in IIS? I'm just out of ideas.

stephenfalken
+1  A: 

Robin, thanks a lot for your help.

I solved it. The problem was in IIS, as I suspected.

When you configure FP Extensions on the parent site, they are NOT configured in each child site. For this reason, I had to configure each ClickOnce virtual directory's individual FP extensions. They were already set up as ASP.Net web applications, but the FP extensions have to be configured for each one individually.

To configure FP extensions on Windows Server 2003 (IIS 6.0):

  1. In IIS, right-click the "subweb" in question

  2. Select All Tasks | Configure Server Extensions 2002

  3. Enter authentication info

  4. Server extensions are created and an http management site is displayed.

  5. From here, you can do any further sites which require extensions to be configured.

stephenfalken
That's awesome. Another helpful thing to know. If you publish with FTP instead of HTTP, you don't need the FPSE. So you provide a publish path that's something like ftp://myserver/mappfolder and the installation url is still http, like http://myserver/myappfolder. (Folders may vary depending on how they are set up on the server.)
RobinDotNet

related questions