|
I have created a similar application. I used the publish feature in VS2005 (not sure if exists in 2003)
Look at the publish tab of the project properties. There should be a publish wizard that will allow you to publish the application directly to the server location.
This helps get around a lot of the permission level problems. There is also an option to have a running application to check the server for updates. This can create problems if it is linked to your PC and not the server location. I disabled this for my application.
This creates a deployment manifest method for launching an application. The end user just has to copy the shortcut created by the publish wizard to their desktop and it will launch a local version of the app from the server.
Hope this helps.
|
|
|
|
|
MNFlyer wrote: I used the publish feature in VS2005 (not sure if exists in 2003)
That's a different thing. The Publish feature creates a ClickOnce installer for your application. No matter whether you have an icon on your Start menu or not, the application is installed on the local machine, and everytime you run it (by going to the .application URL or clicking the icon) it checks for updates in the server. But the app is actually installed in the client PC.
And no, it's a .NET 2.0 feature so it doesn't exist in VS.NET 2003.
|
|
|
|
|
Thanks for the clarification on this Luis,
For my deployment I selected "The application is available online only". The app does run on the local PC but doesn't get installed there.
If you remove the app on the server then it will not run on the local PC.
|
|
|
|
|
MNFlyer wrote: For my deployment I selected "The application is available online only". The app does run on the local PC but doesn't get installed there.
Actually the app *is* installed on the local PC, but no icon is created on the start menu. It needs to be downloaded so it can be run.
Check in C:\Documents and Settings\youruser\Local Settings\Application Data\Microsoft\Apps\2.0 (the path is something like that in XP -- I have Vista and I couldn't find the path here).
I have not verified it, but I believe that if you can somehow get the .application file on your publish server, it will run your application even if you don't have a connection to the server. That's actually the shortcut gets in the Start menu when the app is installed for offline use: an .application file.
But theory aside, I think that's a great solution for what you need, since I don't think users will go hunting for you app's EXE to run it.
Regards,
|
|
|
|
|
Thanks for the clarification on this Luis,
For my deployment I selected "The application is available online only". The app does run on the local PC but doesn't get installed there.
If you remove the app on the server then it will not run on the local PC.
If you make a change and re-publish then the remote users just close the app and re-open and it will launch the latest version.
|
|
|
|
|
As Christian suggested, installing it on a server and using Remote Desktop to login and run it is an option. If you want more than two users, you'll need to set up Terminal Services on your server (and have some good hardware resources -- a lot of RAM).
Running it of the network with a shortcut could also work, but usually it will run with limited security permissions (from the internet zone o intranet zone and not full trust). You're getting an exception because the app is trying to do something that is not allowed.
|
|
|
|
|
Hi,
There is a form thas is mdi container. That form also contains one button. When a MdiChild is displayd, I can see gray MdiClient area, button and Mdi Child form too. But the button is above the Mdi Child form when they intersect. I'd like to switch the order and when the Mdi Child form comes above the button, the button will be behind the child form instead of in front of like default.
any ideas?
thanx
zilo
|
|
|
|
|
|
What is the laregest byte array one can possible allocate?
byte[] ba = new byte[i];
can i be 64-bit?
Is the answer different on a 32-bit architecture than on a 64-bit architecture?
|
|
|
|
|
Available memory.
Yes.
Dunno.
|
|
|
|
|
PIEBALDconsult wrote: Dunno
Yes, tried it.
|
|
|
|
|
There's no substitute for trying.
|
|
|
|
|
PIEBALDconsult wrote: There's no substitute for trying.
Knowing perhaps?
|
|
|
|
|
But as Richard Feynman was fond of saying, don't rely on authority. Perform the experiments yourself and see the evidence for yourself. So long as your knowledge came from your own efforty, your willingness to try, then great. Otherwise, how do you really know? The authority could be lying or simply mistaken.
|
|
|
|
|
My point exactly.
I'd also refer to Edison and his 10000 ways that don't work.
As I say, "You learn more from your mistakes than from getting it right the first time."
|
|
|
|
|
Colin Angus Mackay wrote: or simply mistaken.
It has happened
|
|
|
|
|
it is just that my machine doesn't have more than 2 GB of RAM, so I relied on others who have huge memory space to test it out...
|
|
|
|
|
I created a C# Windows Service to clean up files on some equipment PCs. Along with the service I created a configuration Windows App. that allows me to install, start, stop, uninstall the service and create an configuration XML file to change folder locations and such.
Purpose:
The service uses an OnTimer event to periodically check a folder for files. It then creates a backup copy on a network drive and deletes the local file.
Problem:
The following code does not work in the service but will work if performed from a button in the configuration app. The AddToFile function is working in the service as it just writes the string to a text file.
The Service is configured to log on as a local system.
Question: Why does this not work from within the service?
//Code Section
AddToFile(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString() + " Copying Reports to Network");
foreach (string sfi in Directory.GetFiles(SC.LocalReportFolder))
{
FileInfo fi = new FileInfo(sfi);
FileInfo fn;
if (SC.CU.AppendMachineName) //Configuration file variable
{
//Adds the machine name to the report
string nwname = fi.Name.Replace(fi.Extension, "_" + SC.MachineName + ".txt");
fn = fi.CopyTo(SC.CU.NetworkReportFolder + "\\" + nwname, true);
}
else
{
fn = fi.CopyTo(SC.CU.NetworkReportFolder + "\\" + SC.MachineName + "\\" + fi.Name, true);
}
fn.Refresh();
//If the copy was successful then delete the local file.
if ((fn.Exists)&&(SC.CU.DeleteLocalReport))
{
fi.Delete();
}
}
//End of Code
|
|
|
|
|
Hi,
my first hint would be that the local system account doesn't have the appropriate rights to access the network folder.
Robert
|
|
|
|
|
After some further searching I found that a service cannot use an existing mapped drive. It must create the map itself to work. This also has problems as a service may start prior log on an thus the network is not available.
Looks like I may have to use my Windows App in the startup folder with a timer or filewatcher event.
|
|
|
|
|
Or periodically check for the existance of the drive.
P.S. I don't use mapped drives. (They're so '80s!)
|
|
|
|
|
If you're going to access a file system on another computer, your service has to be installed with a user account that exists on the remote system. The default user for a service is "Local System" or something like that. So, you need to have (or create a new) user account with appropriate permissions on the remote system, and then install your service with those account credentials on your local box.
Put a try/catch block around your System.IO calls, and you'll see exactly why they're failing.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
I'm writing a soap client that interacts with a web service. I let Visual Studio create the proxy classes from the WSDL file.
During the first soap request, the proxy class's InvokeAsync methods takes about 20-30 to return. I doesn't matter which
soap request I make, the delay is always there the first time. All subsequent soap request return immediately from InvokeAsync.
I subclassed SoapExtension, and set a breakpoint in ProcessMessage. The delay occurs after BeforeSerialize and before AfterSerialize.
Any idea of what is going on, or how to further debug this? Thanks.
|
|
|
|
|
woodrvr wrote: Any idea of what is going on, or how to further debug this?
Any database connections being used on the server?
led mike
|
|
|
|
|
don't know. the delay, as far as i can tell, seems to be during the serialization process, and before the request get sent. i dump the request and response xml to a file, and they're less than a second apart.
|
|
|
|