That's what I wanted to know.
I tried running my application as you suggested and I ran
into a hitch: I'm using DLLImport in one of my modules.
When the CLR tries to load my app it issues a "File Not
Found" exception on my class that does all the
DLLImports. Is there something special that I have to do
to get the Platform Ivoke calls to work.
Here's a snippet of the class that it is complaining
about
:
public class DataAccessBridge
{
[DllImport("OWBridge.dll",CharSet=CharSet.Ansi)]
public static extern int InitRecordSet();
...
On a client machine the DllImport works becasue the
OWBridge.dll is in the same directory as my C#
executable. I imagine the rules are different when run
in Smart Client mode...
Thanks!
-----Original Message-----
You can deploy a WinForms EXE to another PC by giving
him a URL forthe .EXE. This is called a Smart Client Application.
- A SmartClient app is basically a Windows Forms app
that is deployedover the web (zero-touch deployment). These applications
have fullWindows GUI functionality.
- The user must have the .NET Framework v1.1 on their
computer
- The app is downloaded into a "security sandbox" on the
user'scomputer. The app can NOT read or write to local files
within thenormal filesystem, and they can't read or write to/from
the registry.
- The app can contact the same internet site where it
was downloadedfrom in 2 ways: it can call Web Services at that site,
and it can opensockets to that site.
- The app can store data locally in a protected area on
the hard disk(called "Isolated Storage")
- The app can function in a fully "disconnected" manner.
Oncedownloaded (by clicking on the URL), the program stays
in the"Temporary Internet Files" area of the disk. The user
can start theprogram when the Internet is down by using "File..Work
Offline" in IE.Then they can give the URL, and it will be loaded from
their localdisk. They can read/write to their local protected
diskspace. Laterwhen the Internet comes back online, they can
synchronize with a WebService or socket.
- if you want the program to have more permissions so it
can get outof the sandbox in a controlled manner, you can create a
securitypolicy for the client's computer. This can be stored in
an ".msi"setup file, that the user can execute over the web by
pointing to aURL. This is called "one touch deployment", because the
user has toexecute an .msi file before he can run the program.
.