Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. How to run application from network folder

How to run application from network folder

Scheduled Pinned Locked Moved C#
csharphelpwinformssysadmintutorial
18 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A AndrusM

    Managed code .NET 3.5 C# WinForms application runs OK from Vista when in local drive. When application is copied to mapped network drive or started from \\othercmp\c\myapp\myapp.exe folder , it does not start: Vista shows MyApp has stopped working Windows is checking for a solution to the problem.. How to fix ?

    Andrus

    S Offline
    S Offline
    Simon P Stevens
    wrote on last edited by
    #2

    It's because of the trust level assigned to the app. .net exe files run off of a network share are assigned a low trust level. (As opposed to full trust when run locally). If you want your app to automatically just work from a network share you need to design it so it doesn't require full trust. This means you can't do anything like writing to the local file system, using the registry, and a whole bunch of other stuff. (There are often alternatives, like you could use isolated storage for settings instead of the registry). Or, you can adjust the security to either explicitly trust a specific strong name signed assembly, no matter where is it run from[^] or explicitly allow full trust for apps run from a given network location[^]

    Simon

    A 2 Replies Last reply
    0
    • S Simon P Stevens

      It's because of the trust level assigned to the app. .net exe files run off of a network share are assigned a low trust level. (As opposed to full trust when run locally). If you want your app to automatically just work from a network share you need to design it so it doesn't require full trust. This means you can't do anything like writing to the local file system, using the registry, and a whole bunch of other stuff. (There are often alternatives, like you could use isolated storage for settings instead of the registry). Or, you can adjust the security to either explicitly trust a specific strong name signed assembly, no matter where is it run from[^] or explicitly allow full trust for apps run from a given network location[^]

      Simon

      A Offline
      A Offline
      AndrusM
      wrote on last edited by
      #3

      If you want your app to automatically just work from a network share you need to design it so it doesn't require full trust I need that in MDI child form Escape key closes form, Ctrl+F1 cycles and Ctrl+F10 toggles maximizing. For this I use code below in form base class which requires full trust. How to implement those features without full trust ? Andrus.

      [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
      protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
      {
      switch (keyData)
      {
      case Keys.Escape:
      if (this != FormManager.MainForm)
      {
      Close();
      return true;
      }
      break;

                  case Keys.Control | Keys.F1:
                      for (int i = 0; i < FormManager.MainForm.MdiChildren.Length; i++)
                      {
                          if (FormManager.MainForm.MdiChildren\[i\] == this)
                          {
      
                              if (i < FormManager.MainForm.MdiChildren.Length - 1)
                                  FormManager.MainForm.MdiChildren\[i + 1\].Focus();
                              else
                                  FormManager.MainForm.MdiChildren\[0\].Focus();
      
                              return true;
                          }
                      }
                      return true;
      
                  case Keys.Control | Keys.F10:
                      if (WindowState == FormWindowState.Maximized)
                          WindowState = FormWindowState.Normal;
                      else
                          WindowState = FormWindowState.Maximized;
                      return true;
      
              }
              return base.ProcessCmdKey(ref msg, keyData);
          }
      }
      

      Andrus

      S 1 Reply Last reply
      0
      • A AndrusM

        If you want your app to automatically just work from a network share you need to design it so it doesn't require full trust I need that in MDI child form Escape key closes form, Ctrl+F1 cycles and Ctrl+F10 toggles maximizing. For this I use code below in form base class which requires full trust. How to implement those features without full trust ? Andrus.

        [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
        switch (keyData)
        {
        case Keys.Escape:
        if (this != FormManager.MainForm)
        {
        Close();
        return true;
        }
        break;

                    case Keys.Control | Keys.F1:
                        for (int i = 0; i < FormManager.MainForm.MdiChildren.Length; i++)
                        {
                            if (FormManager.MainForm.MdiChildren\[i\] == this)
                            {
        
                                if (i < FormManager.MainForm.MdiChildren.Length - 1)
                                    FormManager.MainForm.MdiChildren\[i + 1\].Focus();
                                else
                                    FormManager.MainForm.MdiChildren\[0\].Focus();
        
                                return true;
                            }
                        }
                        return true;
        
                    case Keys.Control | Keys.F10:
                        if (WindowState == FormWindowState.Maximized)
                            WindowState = FormWindowState.Normal;
                        else
                            WindowState = FormWindowState.Maximized;
                        return true;
        
                }
                return base.ProcessCmdKey(ref msg, keyData);
            }
        }
        

        Andrus

        S Offline
        S Offline
        Simon P Stevens
        wrote on last edited by
        #4

        Handle the forms keypress or keydown events instead of overriding the ProcessCmdKey method. Use code in their to max/min/cycle your forms based on the key pressed.

        Simon

        A 1 Reply Last reply
        0
        • S Simon P Stevens

          Handle the forms keypress or keydown events instead of overriding the ProcessCmdKey method. Use code in their to max/min/cycle your forms based on the key pressed.

          Simon

          A Offline
          A Offline
          AndrusM
          wrote on last edited by
          #5

          http://www.codeproject.com/KB/database/DatabaseAcessWithAdoNet1.aspx[^] states that DataGridView and other controls do not raise those events. How I can use those events when DataGridView is active?

          Andrus

          S 1 Reply Last reply
          0
          • A AndrusM

            http://www.codeproject.com/KB/database/DatabaseAcessWithAdoNet1.aspx[^] states that DataGridView and other controls do not raise those events. How I can use those events when DataGridView is active?

            Andrus

            S Offline
            S Offline
            Simon P Stevens
            wrote on last edited by
            #6

            Ahh...interesting. Have you tried the _forms_ previewkeydown event? (You have to set keypreview to true)

            Simon

            A 1 Reply Last reply
            0
            • S Simon P Stevens

              It's because of the trust level assigned to the app. .net exe files run off of a network share are assigned a low trust level. (As opposed to full trust when run locally). If you want your app to automatically just work from a network share you need to design it so it doesn't require full trust. This means you can't do anything like writing to the local file system, using the registry, and a whole bunch of other stuff. (There are often alternatives, like you could use isolated storage for settings instead of the registry). Or, you can adjust the security to either explicitly trust a specific strong name signed assembly, no matter where is it run from[^] or explicitly allow full trust for apps run from a given network location[^]

              Simon

              A Offline
              A Offline
              AndrusM
              wrote on last edited by
              #7

              I ran with adminstrator rights in Vista CasPol.exe -m -ag 1.2 -url file://z:/myapp/* FullTrust

              C:\...crosoft.NET\Framework\v2.0.50727>g 1.2 -url file://z:/myapp/* FullTrust
              Microsoft (R) .NET Framework CasPol 2.0.50727.1434
              Copyright (c) Microsoft Corporation. All rights reserved.

              The operation you are performing will alter security policy.
              Are you sure you want to perform this operation? (yes/no)
              y
              Added union code group with "-url" membership condition to the Machine level.
              Success

              However z:\myapp\myapp.exe still shows immediately Myapp as stopped working

              Andrus

              S M 2 Replies Last reply
              0
              • A AndrusM

                I ran with adminstrator rights in Vista CasPol.exe -m -ag 1.2 -url file://z:/myapp/* FullTrust

                C:\...crosoft.NET\Framework\v2.0.50727>g 1.2 -url file://z:/myapp/* FullTrust
                Microsoft (R) .NET Framework CasPol 2.0.50727.1434
                Copyright (c) Microsoft Corporation. All rights reserved.

                The operation you are performing will alter security policy.
                Are you sure you want to perform this operation? (yes/no)
                y
                Added union code group with "-url" membership condition to the Machine level.
                Success

                However z:\myapp\myapp.exe still shows immediately Myapp as stopped working

                Andrus

                S Offline
                S Offline
                Simon P Stevens
                wrote on last edited by
                #8

                Sorry, I've no idea about this. Try catching and logging exceptions at the top level to see what's going wrong.

                Simon

                A 1 Reply Last reply
                0
                • S Simon P Stevens

                  Ahh...interesting. Have you tried the _forms_ previewkeydown event? (You have to set keypreview to true)

                  Simon

                  A Offline
                  A Offline
                  AndrusM
                  wrote on last edited by
                  #9

                  http://blogs.msdn.com/jfoscoding/archive/2005/01/24/359334.aspx[^] States that MDI Parent form ProcessCmdKey is called before PreviewKeyDown. Probably Main form ProcessCmdKey consides those keys as special keys and processec them, it will not pass them to PreviewKeyDown.

                  Andrus

                  S 1 Reply Last reply
                  0
                  • S Simon P Stevens

                    Sorry, I've no idea about this. Try catching and logging exceptions at the top level to see what's going wrong.

                    Simon

                    A Offline
                    A Offline
                    AndrusM
                    wrote on last edited by
                    #10

                    Exception which occurs in does not show .NET Winforms unhandled exception dialog. So this exception cannot be catched in .NET code.

                    Andrus

                    1 Reply Last reply
                    0
                    • A AndrusM

                      I ran with adminstrator rights in Vista CasPol.exe -m -ag 1.2 -url file://z:/myapp/* FullTrust

                      C:\...crosoft.NET\Framework\v2.0.50727>g 1.2 -url file://z:/myapp/* FullTrust
                      Microsoft (R) .NET Framework CasPol 2.0.50727.1434
                      Copyright (c) Microsoft Corporation. All rights reserved.

                      The operation you are performing will alter security policy.
                      Are you sure you want to perform this operation? (yes/no)
                      y
                      Added union code group with "-url" membership condition to the Machine level.
                      Success

                      However z:\myapp\myapp.exe still shows immediately Myapp as stopped working

                      Andrus

                      M Offline
                      M Offline
                      mav northwind
                      wrote on last edited by
                      #11

                      Hi! There's a control panel for the configuration of .NET 2.0 if you have the SDK installed. When you select "Runtime security policies" (I hope that's the correct name, I only have the German version here...) you get the option to evaluate a given assembly with respect to all the permissions this assembly is granted. You could test your assembly to verify that the change in your security policy actually affects your application.

                      Regards, mav -- Black holes are the places where God divided by 0...

                      A 1 Reply Last reply
                      0
                      • A AndrusM

                        http://blogs.msdn.com/jfoscoding/archive/2005/01/24/359334.aspx[^] States that MDI Parent form ProcessCmdKey is called before PreviewKeyDown. Probably Main form ProcessCmdKey consides those keys as special keys and processec them, it will not pass them to PreviewKeyDown.

                        Andrus

                        S Offline
                        S Offline
                        Simon P Stevens
                        wrote on last edited by
                        #12

                        Sorry then, I'm out of ideas. There should be a way though. Detecting a key press barely seems like something that should require full trust.

                        Simon

                        A 1 Reply Last reply
                        0
                        • S Simon P Stevens

                          Sorry then, I'm out of ideas. There should be a way though. Detecting a key press barely seems like something that should require full trust.

                          Simon

                          A Offline
                          A Offline
                          AndrusM
                          wrote on last edited by
                          #13

                          No, there are no ways. Detecting those keypresses in winForms requires application to run in full trust mode.

                          Andrus

                          1 Reply Last reply
                          0
                          • M mav northwind

                            Hi! There's a control panel for the configuration of .NET 2.0 if you have the SDK installed. When you select "Runtime security policies" (I hope that's the correct name, I only have the German version here...) you get the option to evaluate a given assembly with respect to all the permissions this assembly is granted. You could test your assembly to verify that the change in your security policy actually affects your application.

                            Regards, mav -- Black holes are the places where God divided by 0...

                            A Offline
                            A Offline
                            AndrusM
                            wrote on last edited by
                            #14

                            .NET 2 SDK downlaod page says that this is obsolete and recommends to download Windows SDK for Windows Server 2008 and .NET Framework 3.5 from http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en[^] Whoe package is 1.3 GB to download which is too much. Which options I must select to install security utility ?

                            Andrus

                            M 1 Reply Last reply
                            0
                            • A AndrusM

                              .NET 2 SDK downlaod page says that this is obsolete and recommends to download Windows SDK for Windows Server 2008 and .NET Framework 3.5 from http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en[^] Whoe package is 1.3 GB to download which is too much. Which options I must select to install security utility ?

                              Andrus

                              M Offline
                              M Offline
                              mav northwind
                              wrote on last edited by
                              #15

                              Don't know, sorry. Don't you have VS2005 installed? In that case, the .NET 2.0 SDK is already installed.

                              Regards, mav -- Black holes are the places where God divided by 0...

                              A 1 Reply Last reply
                              0
                              • M mav northwind

                                Don't know, sorry. Don't you have VS2005 installed? In that case, the .NET 2.0 SDK is already installed.

                                Regards, mav -- Black holes are the places where God divided by 0...

                                A Offline
                                A Offline
                                AndrusM
                                wrote on last edited by
                                #16

                                I have Visual C# Express 2008 Installed. I intalled "SDK Tools" from "Windows and .NET SDK" package but Control Panel does not show this utility. Installer created 2 directories, v6.0a and v6.1 containing files with same names. I tried some executables in v6.1 directory but they appear to do other things.

                                Directory of C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin

                                31.07.2008 12:06 <DIR> .
                                31.07.2008 12:06 <DIR> ..
                                07.11.2007 12:01 72_688 al.exe
                                06.11.2007 21:53 140 al.exe.config
                                16.01.2008 17:21 40_960 apatch.exe
                                07.11.2007 12:01 913_416 aspnet_merge.exe
                                07.11.2007 12:01 58_360 AxImp.exe
                                16.01.2008 17:21 510_976 capicom.dll
                                16.01.2008 17:21 20_992 Cert2Spc.exe
                                16.01.2008 17:21 74_752 CertMgr.Exe
                                16.01.2008 17:21 30_208 checkv4.exe
                                07.11.2007 12:01 66_040 clrver.exe
                                16.01.2008 17:21 23_552 Consume.exe
                                07.11.2007 12:01 185_336 cordbg.exe
                                07.11.2007 12:01 72_192 CorFlags.exe
                                16.01.2008 17:21 60_416 ctrpp.exe
                                19.06.2006 14:09 247 dasmhlp.cnt
                                19.06.2006 14:09 21_963 DASMHLP.HLP
                                22.01.2008 12:11 58_360 disco.exe
                                31.07.2008 12:03 <DIR> en-us
                                07.11.2007 12:01 107_520 FUSLOGVW.exe
                                07.11.2007 12:01 106_496 gacutil.exe
                                06.11.2007 20:07 181 gacutil.exe.config
                                16.01.2008 17:21 132_608 genmanifest.exe
                                07.11.2007 12:01 31_744 guidgen.exe
                                07.11.2007 12:01 386_040 ildasm.exe
                                06.11.2007 20:07 181 ildasm.exe.config
                                11.12.2007 14:15 3_105 INSTLR1.ADM
                                11.12.2007 14:15 9_179 instlr11.adm
                                08.01.2008 17:19 596 isvtier5appsigningprivkey.dat
                                08.01.2008 17:19 148 isvtier5appsigningpubkey.dat
                                08.01.2008 17:19 21_234 isvtier5appsignsdk.cc
                                08.01.2008 17:19 4_916 isvtier5appsignsdk.xml
                                08.01.2008 17:19 56_994 isvtier5appsignsdk_client.xml
                                07.11.2007 12:01 46_064 lc.exe
                                07.11.2007 12:01 78_840 mage.exe
                                07.11.2007 12:01 463_864 mageui.exe
                                16.01.2008 17:21 123_904 make-shell.exe
                                16.01.2008 17:21 30_720 MakeCat.Exe
                                16.01.2008 17:21 57_856 makecert.exe
                                07.11.2007 12:01 111_608 Mdbg.exe
                                22.01.2008 12:11 376_832 MdbgCore.dll
                                22.01.2008 12:11 104_960 MdbgDis.

                                M 1 Reply Last reply
                                0
                                • A AndrusM

                                  I have Visual C# Express 2008 Installed. I intalled "SDK Tools" from "Windows and .NET SDK" package but Control Panel does not show this utility. Installer created 2 directories, v6.0a and v6.1 containing files with same names. I tried some executables in v6.1 directory but they appear to do other things.

                                  Directory of C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin

                                  31.07.2008 12:06 <DIR> .
                                  31.07.2008 12:06 <DIR> ..
                                  07.11.2007 12:01 72_688 al.exe
                                  06.11.2007 21:53 140 al.exe.config
                                  16.01.2008 17:21 40_960 apatch.exe
                                  07.11.2007 12:01 913_416 aspnet_merge.exe
                                  07.11.2007 12:01 58_360 AxImp.exe
                                  16.01.2008 17:21 510_976 capicom.dll
                                  16.01.2008 17:21 20_992 Cert2Spc.exe
                                  16.01.2008 17:21 74_752 CertMgr.Exe
                                  16.01.2008 17:21 30_208 checkv4.exe
                                  07.11.2007 12:01 66_040 clrver.exe
                                  16.01.2008 17:21 23_552 Consume.exe
                                  07.11.2007 12:01 185_336 cordbg.exe
                                  07.11.2007 12:01 72_192 CorFlags.exe
                                  16.01.2008 17:21 60_416 ctrpp.exe
                                  19.06.2006 14:09 247 dasmhlp.cnt
                                  19.06.2006 14:09 21_963 DASMHLP.HLP
                                  22.01.2008 12:11 58_360 disco.exe
                                  31.07.2008 12:03 <DIR> en-us
                                  07.11.2007 12:01 107_520 FUSLOGVW.exe
                                  07.11.2007 12:01 106_496 gacutil.exe
                                  06.11.2007 20:07 181 gacutil.exe.config
                                  16.01.2008 17:21 132_608 genmanifest.exe
                                  07.11.2007 12:01 31_744 guidgen.exe
                                  07.11.2007 12:01 386_040 ildasm.exe
                                  06.11.2007 20:07 181 ildasm.exe.config
                                  11.12.2007 14:15 3_105 INSTLR1.ADM
                                  11.12.2007 14:15 9_179 instlr11.adm
                                  08.01.2008 17:19 596 isvtier5appsigningprivkey.dat
                                  08.01.2008 17:19 148 isvtier5appsigningpubkey.dat
                                  08.01.2008 17:19 21_234 isvtier5appsignsdk.cc
                                  08.01.2008 17:19 4_916 isvtier5appsignsdk.xml
                                  08.01.2008 17:19 56_994 isvtier5appsignsdk_client.xml
                                  07.11.2007 12:01 46_064 lc.exe
                                  07.11.2007 12:01 78_840 mage.exe
                                  07.11.2007 12:01 463_864 mageui.exe
                                  16.01.2008 17:21 123_904 make-shell.exe
                                  16.01.2008 17:21 30_720 MakeCat.Exe
                                  16.01.2008 17:21 57_856 makecert.exe
                                  07.11.2007 12:01 111_608 Mdbg.exe
                                  22.01.2008 12:11 376_832 MdbgCore.dll
                                  22.01.2008 12:11 104_960 MdbgDis.

                                  M Offline
                                  M Offline
                                  mav northwind
                                  wrote on last edited by
                                  #17

                                  I'm afraid I don't know if this control panel is part of VS 2008 Express. With VS 2005 it's located at

                                  C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\Bin\mscorcfg.msc

                                  Hope this helps...

                                  Regards, mav -- Black holes are the places where God divided by 0...

                                  A 1 Reply Last reply
                                  0
                                  • M mav northwind

                                    I'm afraid I don't know if this control panel is part of VS 2008 Express. With VS 2005 it's located at

                                    C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\Bin\mscorcfg.msc

                                    Hope this helps...

                                    Regards, mav -- Black holes are the places where God divided by 0...

                                    A Offline
                                    A Offline
                                    AndrusM
                                    wrote on last edited by
                                    #18

                                    In C# Express 2008 I have folder C:\Program Files\Microsoft Visual Studio 9.0\SDK\v3.5\Bin but this folder is empty. Any idea how to use this tool ?

                                    Andrus

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • World
                                    • Users
                                    • Groups