Using RocketLauncher over UNC

From RocketLauncher Wiki
Jump to navigation Jump to search

Resolving security errors from RocketLauncher over a UNC path

Running HyperSpin/RocketLauncher over a UNC path works perfectly fine, but some functions causes the application to crash and produce the following error message:

ComError.jpg

The same goes for Pause’s manual/guide function. An error is shown when trying to open a pdf file from a UNC installation:

Openpdferror.jpg

Also the following errors are related.
When unpacking a 7z archive:

COM Error Notification
Function Name: "findFileInZip"
PROG: mscorlib
DESC: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0,Culture=netutral, PublicKeyToken=b77a5c561934e089' failed.
HELP: ,0

ERROR2: Member not found. (0x80020003)
Will continue?


When setting the log level in RocketLauncherUI to Debug1, Debug2 or Troubleshooting:
Function Name "setLogMode"
ERROR: (0x8013150A)
Prog: RocketLauncher
Desc: Request for the permission of type 'System.Security.Permissions.FileIOPermissions, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Help: ,0

ERROR2: Member not found.
(0x80020003)
Will Continue?

There are two ways to resolve this problem. The first one is more secure and the second one is easier. Both of them require that you download the .NET Framework 2.0 Configuration Tool from the link at the bottom of this page. Normally you'd have to download/install the SDK to get this tool, but this guy stripped it out and created a separate installer for it. Props to him! If it's down, PM me and I'll send you a copy.
Direct link: http://cid-27e6a35d1a492af7.skydrive.live.com/self.aspx/Blog%7C_Tools/configwizard.zip
Mirror: http://grandis.nu/downloads/NET_Framework_2.0_Configuration_Tool.zip

Option 1, more secure way of doing it


  1. Run "Microsoft .NET Framework 2.0 Configuration" from Control Panel -> Administrative Tools
  2. Create a new Code Group
    1. Expand My Computer -> Runtime Security Policy -> Machine -> Code Groups
    2. Right-click on "All_Code" and select "New..."
    3. Give it a name under "Create a new code group" (I just used "RocketLauncherCodeGroup") and then click "Next"
    4. Under "Choose the condition type for this code group" select "URL" and then type in the full UNC path to the "RocketLauncher.dll" file, which is located in the \RocketLauncher\Module Extensions" folder. For example, my ##;server name is "SERVER", the FQDN is "SERVER.home.mydomain.com", and it's located in the "Users$" share. So, the full UNC path that I used is:
      file:\\SERVER.home.mydomain.com\Users$\HTPC\HyperSpin\RocketLauncher\Module%20Extensions\RocketLauncher.dll
      • (Note that this is a URL so if you have spaces in the path you'll want to replace them with the HTML character code for a space which is "%20" without the quotes.) Then click "Next"
    5. Under "Use existing permission set:" select ”FullTrust”, then click "Next"
    6. Click "Finish"
    7. Note that it will actually create the Code Group with "Copy of" pre-pended to the name you entered. So, if you're OCD like me and want to change it back to the name you entered, you can right-click and rename it
  3. Create another Code Group, this time for itextsharp.dll (a library used by Pause to open pdf files).
    Proceed the same steps as above. Give it a new name, e.g. “PauseCodeGroup” In my case, the corresponding UNC path looks like:
    file:\\SERVER.home.mydomain.com\Users$\HTPC\HyperSpin\RocketLauncher\Module%20Extensions\itextsharp.dll


Option 2, The quick and dirty edition.


  1. Run "Microsoft .NET Framework 2.0 Configuration" from Control Panel -> Administrative Tools
  2. Open up My Computer. Right-click on Runtime Security Policy and select Adjust Security.
  3. Make changes to this computer should be checked. Click Next.
  4. Select Local Intranet and move the lever to the top for Full Trust.
  5. Click Next, Finish and close the application.


Now we need to add the server that hosts RocketLauncher to your Local Intranet sites list.

  1. Start Internet Explorer. Go to Tools / Internet Options
  2. In the Securities tab, click Local Intranet.
  3. Click Sites and Advanced.
  4. Uncheck "Require Server Verification (https:) for all sites in this zone".
  5. Add your server as such: file://servername
    1. Or you can add the IP address to the server (example IP): file://192.168.101.15
    2. You can also add your entire network if you want: file://192.168.*.*
  6. Click Close, OK, OK and close Internet Explorer.


The errors should now be gone from RocketLauncher



Optional / Recommended

Since you'll be running your applications from a UNC path, you'll probably run into the error message shown below. In order to get rid of these security warnings, you have to add your NAS/Server name to the proper security zone in Internet Explorer. Note that you went for option 2 above, you've already added the server to the Local Intranet zone so this should be fixed already.

WindowsSecurityError.jpg

Add your NAS/Server to the "Local Intranet" security zone

  1. Open Control Panel -> Internet Options
  2. Click on the "Security" tab
  3. Select "Local Intranet" and then click on the "Sites" button
  4. Click the "Advanced" button
  5. Add your NAS/Server here. (For example, the FQDN for my server is "SERVER.home.mydomain.com", so I entered "SERVER.home.mydomain.com" here without quotes)
  6. Click "Close" -> "OK" -> "OK"