Question about writing windows apps that write to network drives under vista/uac

F

fig000

Hi,

I am new to vista and uac. We have an app that was written under
vs2003 (windows). When the app runs normally it has a problem creating
and writing to network directories. I've gotten around this to some
extent by having the app run as administrator by default. Of course
this means that I get the UAC prompt asking if I want to allow the app
to run.

I'm wondering if this is the best I can do. I've noticed that other
apps (my program text editor for example) can write to the same
network drives without any trouble and without any prompts from UAC.
So, it seems, can notepad. This makes me wonder about how this is
done. Do these apps have elevated privilages by using a manifest and
AIS (as I've read about) or is there something more standard that
these apps do? We have third party app here that we sell and it will
be running on our customer's desktops. I'd like to use the best
technique to allow it to run and I'm wondering what other commercial
apps such as notepad do.

Any help would be appreciated.

Fig
 
G

Guest

Can you give some more information on how you write to network drives in this
app? What you are describing should not have anything to do with UAC. UAC
being enabled on a client would not impact the token you have on a server.
However, if the server is running Vista with UAC enabled, and you are
connecting to it as an administrator the presence of UAC on the server could
have an impact.

What does the code look like that performs this writing? It sounds to me
like this is related to something else in the code, not UAC.
 
G

Gerry Hickman

Hi,

In general, your app will be able to save to a network drive provided
you are logged into the computer with an account that can also access
the network drive, it does NOT need to be an Administrator.
 
F

fig000

Jesper,

Thanks for answering and sorry it took a little while to get back
to you. My boss had to find the code.

Here's what we're using at startup of the program. The code reads a
config file for directories it needs to work. If they're not there it
creates them. That is failing on vista ultimate unless I run as
administrator. On vista home it doesn't work even if I ran as
administrator.

Here's the code and thanks again for answering.

-----------------------------------------
Try
_RootGroupsFolder = AppMain.AppVar.Main.MyFolder
Trace.WriteLineIf(AppMain.AppVar.Trace.Level.Info,
"Message.", Routine)
If bDebugStartup Then MessageBox.Show("Message.")
If Not System.IO.Directory.Exists(_RootGroupsFolder) Then
Viewer_StatusChange("Creating folders...")
System.IO.Directory.CreateDirectory(_RootGroupsFolder)

System.IO.Directory.CreateDirectory(System.IO.Path.Combine(_RootGroupsFolder,
"Folder1"))

System.IO.Directory.CreateDirectory(System.IO.Path.Combine(_RootGroupsFolder,
"Folder2"))

System.IO.Directory.CreateDirectory(System.IO.Path.Combine(_RootGroupsFolder,
"Folder3"))

System.IO.Directory.CreateDirectory(System.IO.Path.Combine(_RootGroupsFolder,
"Folder4"))
End If
Catch ex As Exception
HandleStartupError(ex, String .Concat("Unable to create
group folder '", _RootGroupsFolder, "'", System.Environment.NewLine,
System.Environment.NewLine, ex.Message))
Return
End Try
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top