This is really weird, but I have the following code:

private static readonly string mString = "tempUnzipDir" +
Path.DirectorySeparatorChar;

...

public static string ExtractToTempLocation(string aZip)
{
try
{
string tmp = Path.GetTempPath() + mString;
Directory.CreateDirectory(tmp);
// Extract the zip file
}
catch(Exception e)
{
}
}

The code above creates a temporary directory fine on my dev machine (Vista),
but will not create a temp directory on my server (server 2K3 R2) when I
move the code over the to server. I have some logging enabled that isn't
shown in the code above, and it is definately pointing to the correct
location of the temp directory to be created. Even more weird is that the
call to Directory.CreateDirectory(tmp); does not throw any type of exception
on the server. It just keeps executing as if it worked correctly. Does
anybody have any ideas why this isn't working?

Thanks.

Re: Directory.CreateDirectory by Tom

Tom
Wed Jul 09 12:56:19 CDT 2008

Even more weird, if I change the code to this:
private static readonly string mString = "tempUnzipDir" +
Path.DirectorySeparatorChar + "anotherDir" + Path.DirectorySeparatorChar;

...

public static string ExtractToTempLocation(string aZip)
{
try
{
string tmp = Path.GetTempPath() + mString;
Directory.CreateDirectory(tmp);
// Extract the zip file
}
catch(Exception e)
{
}
}

I see the directory "tempUnzipDir" get created under the administrator's
temporary directory. However, the directory [administrator's temp
path]\tempUnzipDir\anotherDir does not get created. WTH??!!!



"Tom" <johnthompson1@hotmail.com> wrote in message
news:BDD91C65-40DD-433F-8932-18E1A089EE12@microsoft.com...
> This is really weird, but I have the following code:
>
> private static readonly string mString = "tempUnzipDir" +
> Path.DirectorySeparatorChar;
>
> ...
>
> public static string ExtractToTempLocation(string aZip)
> {
> try
> {
> string tmp = Path.GetTempPath() + mString;
> Directory.CreateDirectory(tmp);
> // Extract the zip file
> }
> catch(Exception e)
> {
> }
> }
>
> The code above creates a temporary directory fine on my dev machine
> (Vista), but will not create a temp directory on my server (server 2K3 R2)
> when I move the code over the to server. I have some logging enabled that
> isn't shown in the code above, and it is definately pointing to the
> correct location of the temp directory to be created. Even more weird is
> that the call to Directory.CreateDirectory(tmp); does not throw any type
> of exception on the server. It just keeps executing as if it worked
> correctly. Does anybody have any ideas why this isn't working?
>
> Thanks.
>


Re: Directory.CreateDirectory by Norman

Norman
Wed Jul 09 12:59:38 CDT 2008

What type of application are you doing? When you say move code to "server",
does that mean a ASP.NET application, a Windows service application or a
desktop application? Without knowing which user account is used to run your
app, it is hard to tell what is wrong. But it ceratinly sounds like you have
permission problem. As for the code not throwing exception, if the code you
show is the real code, then of course the code does throw exception and is
caught in catch(){} block. However, since you did nothng in the "catch..."
block, the code continues. That is, if you use try...catch... and do nothing
when exception ia caught, that is equal to ignorig the exception and the
code would continue counting on your luck to finish.

"Tom" <johnthompson1@hotmail.com> wrote in message
news:BDD91C65-40DD-433F-8932-18E1A089EE12@microsoft.com...
> This is really weird, but I have the following code:
>
> private static readonly string mString = "tempUnzipDir" +
> Path.DirectorySeparatorChar;
>
> ...
>
> public static string ExtractToTempLocation(string aZip)
> {
> try
> {
> string tmp = Path.GetTempPath() + mString;
> Directory.CreateDirectory(tmp);
> // Extract the zip file
> }
> catch(Exception e)
> {
> }
> }
>
> The code above creates a temporary directory fine on my dev machine
> (Vista), but will not create a temp directory on my server (server 2K3 R2)
> when I move the code over the to server. I have some logging enabled that
> isn't shown in the code above, and it is definately pointing to the
> correct location of the temp directory to be created. Even more weird is
> that the call to Directory.CreateDirectory(tmp); does not throw any type
> of exception on the server. It just keeps executing as if it worked
> correctly. Does anybody have any ideas why this isn't working?
>
> Thanks.
>


Re: Directory.CreateDirectory by Tom

Tom
Wed Jul 09 13:42:30 CDT 2008

I found the problem. It was a sync issue. This was a plug-in for a Windows
service. Another plug-in was deleting temp directories.

Sorry to bug everyone.


"Norman Yuan" <FakeName@FakeEmail.Not> wrote in message
news:eRMWP2e4IHA.3480@TK2MSFTNGP03.phx.gbl...
> What type of application are you doing? When you say move code to
> "server", does that mean a ASP.NET application, a Windows service
> application or a desktop application? Without knowing which user account
> is used to run your app, it is hard to tell what is wrong. But it
> ceratinly sounds like you have permission problem. As for the code not
> throwing exception, if the code you show is the real code, then of course
> the code does throw exception and is caught in catch(){} block. However,
> since you did nothng in the "catch..." block, the code continues. That is,
> if you use try...catch... and do nothing when exception ia caught, that is
> equal to ignorig the exception and the code would continue counting on
> your luck to finish.
>
> "Tom" <johnthompson1@hotmail.com> wrote in message
> news:BDD91C65-40DD-433F-8932-18E1A089EE12@microsoft.com...
>> This is really weird, but I have the following code:
>>
>> private static readonly string mString = "tempUnzipDir" +
>> Path.DirectorySeparatorChar;
>>
>> ...
>>
>> public static string ExtractToTempLocation(string aZip)
>> {
>> try
>> {
>> string tmp = Path.GetTempPath() + mString;
>> Directory.CreateDirectory(tmp);
>> // Extract the zip file
>> }
>> catch(Exception e)
>> {
>> }
>> }
>>
>> The code above creates a temporary directory fine on my dev machine
>> (Vista), but will not create a temp directory on my server (server 2K3
>> R2) when I move the code over the to server. I have some logging enabled
>> that isn't shown in the code above, and it is definately pointing to the
>> correct location of the temp directory to be created. Even more weird is
>> that the call to Directory.CreateDirectory(tmp); does not throw any type
>> of exception on the server. It just keeps executing as if it worked
>> correctly. Does anybody have any ideas why this isn't working?
>>
>> Thanks.
>>
>


Re: Directory.CreateDirectory by tim

tim
Sat Jul 26 04:35:13 CDT 2008

Try using System.IO.Path.Combine() method instead of string concat.

"Tom" <johnthompson1@hotmail.com> wrote in message
news:61B35E73-2802-481A-BF57-5F1E87717663@microsoft.com...
> Even more weird, if I change the code to this:
> private static readonly string mString = "tempUnzipDir" +
> Path.DirectorySeparatorChar + "anotherDir" + Path.DirectorySeparatorChar;
>
> ...
>
> public static string ExtractToTempLocation(string aZip)
> {
> try
> {
> string tmp = Path.GetTempPath() + mString;
> Directory.CreateDirectory(tmp);
> // Extract the zip file
> }
> catch(Exception e)
> {
> }
> }
>
> I see the directory "tempUnzipDir" get created under the administrator's
> temporary directory. However, the directory [administrator's temp
> path]\tempUnzipDir\anotherDir does not get created. WTH??!!!
>
>
>
> "Tom" <johnthompson1@hotmail.com> wrote in message
> news:BDD91C65-40DD-433F-8932-18E1A089EE12@microsoft.com...
>> This is really weird, but I have the following code:
>>
>> private static readonly string mString = "tempUnzipDir" +
>> Path.DirectorySeparatorChar;
>>
>> ...
>>
>> public static string ExtractToTempLocation(string aZip)
>> {
>> try
>> {
>> string tmp = Path.GetTempPath() + mString;
>> Directory.CreateDirectory(tmp);
>> // Extract the zip file
>> }
>> catch(Exception e)
>> {
>> }
>> }
>>
>> The code above creates a temporary directory fine on my dev machine
>> (Vista), but will not create a temp directory on my server (server 2K3
>> R2) when I move the code over the to server. I have some logging enabled
>> that isn't shown in the code above, and it is definately pointing to the
>> correct location of the temp directory to be created. Even more weird is
>> that the call to Directory.CreateDirectory(tmp); does not throw any type
>> of exception on the server. It just keeps executing as if it worked
>> correctly. Does anybody have any ideas why this isn't working?
>>
>> Thanks.
>>
>