remote computer access Results


Page 3 of 12.
Results 41...60 of 233

Sponsored Links:



Hi Mods .

People seem to be having problems with sharing / networking printers all over the place so here's a general method that work 99% of the time to connect almost any mix of OS'es (Windows) and printers including "Network" printers -- perhaps you can make this a sticky.

First part - using a printer which is attached to another (remote) computer.

For the purpose of this example we'll call the remote computer REDSQUIRREL and the LOCAL computer (i.e the one you are actually using) BLUEBOAR.

We'll call the printer on the remote computer REMOTEPRINTER.

Before you start ensure you have FILE and PRINTER sharing enabled on the remote computer and have defined the share name for the printer as REMOTEPRINTER. Right mouse click on Printer and use SHARE. Strictly speaking you can use different workgroups but for a home network make all computers belong to the same workgroup.

Ensure you can access the shares on the remote computer as well --if you can't then it's no point going further.

So ensure your computers are set up correctly - first and that the printer functions correctly on the machine it's connected to.

Windows 7 7022 users Note there is currently a slight glitch in networking if you don't have the same user id and password on all the machines. The initial logon screen you get when trying to access say a shared disk doesn't appear so you have to do this little trick to get it to work (or you'll get the infamous message "WINDOWS can't access REDSQUIRREL) using the names above

Right mouse click on Network then click Map network drive and now type inREDSQUIRRELSHARENAME or REDSQUIRRELIPADDRESSwhere IP address is your IP address on the LAN of the remote computer such as 192.168.0.11. You should now see the logon screen -- logon with the user name and password for your account on the local machine. Now you'll get the share and if you click the machine icon for that machine you'll get the rest of the shares without any more prompting.

This is a slight hassle but I prefer NOT to have the same user id / password on all machines.

Now once you've got network connectivity functioning OK we get to the real nub of the problem.

As you know you can't for example load a 64 Bit printer driver on to a 32 bit OS and the 64 Bit OS doesn't like unsigned drivers so what we actually do is to "Poodlefake" the local machine to think it has the printer actually attached to it so all you need is the printer driver on the LOCAL machine whatever the remote OS is.

Using the example above proceed as follows

1) ADD LOCAL Printer (Yes not a typo --add LOCAL printer --not a NETWORK printer)

2) Choose printer Port ==> click Create a new port

3) scroll down to type of port Local Port and select NEXT

4) For the port name enter (using our example above) REDSQUIRRELREMOTEPRINTER

5) Now you should get a prompt for the printer driver to install (ON THE LOCAL MACHINE). You'll probably find yours in the hardware list --scroll down to the make and manufacturer. Otherwise get the driver from a Disk, or Windows update. Windows 7 has had a load of new printer drivers added.

6) now print test page -- works a treat even if your local machine is XP and your remote computer is running VISTA or W7 64 bit versions.

This method works fine whatever way round.

second part using a Network / Wireless printer.

These printers are those that are connected to your local network via a LAN cable or wireless. They aren't physically attached to any computer.

Same methodology applies -- you need to get the driver installed on the LOCAL machine.

steps 1 and 2 as before

1) ADD LOCAL Printer (Yes not a typo --add LOCAL printer --not a NETWORK printer)

2) Choose printer Port ==> click Create a new port

3)scroll down to standard TCPIP port.

4) enter printer's IP address

5) and 6) as above.

Hopefully this advice is of use to people struggling with setting up shared / network printers with different (Windows) OS'es. -- If the remote printer is on a LINUX machine then you can do the same with SAMBA but that's another topic for a different post.

Cheers

Jimbo




In a race to optimize everything, developers often go to extremes to build software that performs routine tasks. MissionControl is a system that allows users to program a control center that stores interfaces with attached hardware sensors, allowing the users to control any other devices that can be activated via the underlying protocol. For demo purposes, the MissionControl build at this point is compatible with the Phidgets IR hybrid sensor.
The system has two core components:

A server application, which is a Win32 console application that handles incoming queries and returns data to the connected clients. This application runs on the desktop machine with the connected sensor.The Windows Phone application that sends requests to the target server and can trigger a variety of pre-programmed commands.
The Basics

Hardware and Communication Infrastructure

One of the most important parts of the project is the signal capture and replication hardware. For the purposes of this project, I decided to use a dual-mode Phidgets IR sensor. It supports both IR code capture and subsequent replication. From a user’s perspective, this device also eliminates a substantial code-learning overhead as well as the potential error rate. Instead of searching for a device-specific hexadecimal sequence that later has to be transformed in a working IR code, the user simply has to point his remote control at the sensor and press the button that he wants accessible from a mobile device. Given that the capturing software is running on the target machine, once the sensor detects that a code can be repeated within an acceptable precision range, it will be automatically captured and stored, with all required transformations worked out in the backend using the free Phidgets SDK.

Even though I can, I don’t have to handle the binary code content received through the sensor—the Phidgets .NET libraries carry built-in types that contain all the processed metadata that I will discuss later in this article.
This sensor is connected through a USB port to a machine that acts as a communication gateway. This server should have port 6169 open for inbound connections.
NOTE: The port number can be changed, but you have to keep it consistent between your server and client applications.
The communication between the phone and the computer running the client is performed via a TCP channel—sockets are used to perform the initial connections and serialized data transfer. You can see the generalized data flow between the devices that are involved in the procedure in the graphic below:

The server (desktop client) handles the local storage and release of all incoming IR codes. The mobile client has to know the location of the server—once specified and confirmed, it can send one of the pre-defined commands to it and either query the server for existing command groups (sets) or invoke one of the stored IR codes. When I pass data between devices, I use JSON for the serializable components. The data is also processed before being sent in order to speed-up the process—for example, on the server side the sets are serialized together with the associated codes. Like this:

[
{
"Name":"batman",
"IsList":false,
"Commands":[
{
"Name":"test command",
"Code":{
"Mask":{
"BitSize":12,
"CodeData":"AAA="
},
"BitSize":12,
"Encoding":2,
"CarrierFrequency":38000,
"DutyCycle":50,
"Gap":44761,
"Header":[
2374,
606
],
"CodeData":"DJA=",
"MinRepeat":5,
"One":[
1189,
606
],
"Repeat":null,
"Trail":0,
"Zero":[
582,
606
]
}
},
{
"Name":"turn off",
"Code":{
"Mask":{
"BitSize":12,
"CodeData":"AAA="
},
"BitSize":12,
"Encoding":2,
"CarrierFrequency":38000,
"DutyCycle":50,
"Gap":44770,
"Header":[
2360,
613
],
"CodeData":"DJA=",
"MinRepeat":5,
"One":[
1169,
613
],
"Repeat":null,
"Trail":0,
"Zero":[
585,
613
]
}
}
]
}
]

The inherent problem with the JSON data above is the fact that the phone client does not need the information related to the code binary sequence and all the metadata that goes with it. So it is effectively stripped down and reduced to the names of the sets (when a list of sets is requested) and commands (when a list of commands is requested).
The Data Model

As you saw from the description above, the server organizes individual infrared codes in sets. A single set is a bundle of codes that may or may not be related to each other—ultimately, this is the user’s decision. A good example of using sets is organizing IR commands by rooms, devices or code types. Each set has a unique name on the server, therefore eliminating the possibility of a request conflict.
Each set stores individual commands built around the Command model:

namespace Coding4Fun.MissionControl.API.Models
{
public class Command
{
public Command()
{
}

public string Name { get; set; }
public SerializableIRCode Code { get; set; }
}
}

Despite the obvious Name property, you can see that I am using a SerializableIRCode instance that is specific to each model. Before going any further, I need to mention that the Phidgets SDK offers the IRLearnedCode model to store code contents. I could have used it instead, but there is an issue that prevents me from doing that—there is no public constructor defined for IRLearnedCode, therefore there is no way to serialize it, either with the built-in .NET serialization capabilities or JSON.NET, which I am using in the context of the project.
Instead, I have this:

using Phidgets;
namespace Coding4Fun.MissionControl.API.Models
{
public class SerializableIRCode
{
public SerializableIRCode()
{

}

IRLearnedCode code;
public ToggleMask Mask { get; set; }
public int BitSize { get; set; }
public Phidgets.IRCodeInfo.IREncoding Encoding { get; set; }
public int CarrierFrequency { get; set; }
public int DutyCycle { get; set; }
public int Gap { get; set; }
public int[] Header { get; set; }
public byte[] CodeData { get; set; }
public int MinRepeat { get; set; }
public int[] One { get; set; }
public int[] Repeat { get; set; }
public int Trail { get; set; }
public int[] Zero { get; set; }
}
}

It is an almost identical 1:1 copy of the original class, storing both the layout of the IR code and additional information related to its replication mechanism. You can learn more about each property listed in the model above by reading the official document on the topic.
ToggleMask, the identity bit carrier that helps marking the code as repeated or not, is also implemented through a built-in Phidgets SDK model, and it has the same problem as IRLearnedCode. I implemented this model to replace it in the serializable code:

namespace Coding4Fun.MissionControl.API.Models
{
public class ToggleMask
{
public ToggleMask()
{

}

public int BitSize { get; set; }
public byte[] CodeData { get; set; }
}
}

I also needed an easy way to store all sets at once and carry all associated codes in a single instance retrieved from the storage. Here is the Set class:

namespace Coding4Fun.MissionControl.API.Models
{
public class Set
{
public Set()
{
Commands = new List();
}

public string Name { get; set; }
public bool IsList { get; set; }
public List Commands { get; set; }
}
}

Notice that there is an IsList flag that allows me to specify how to display this specific list on the connecting device. This adds some level of flexibility for situations where the user wants to build a virtual remote for closely-related keys, such as digits. With that in mind, displaying those as a list might be inconvenient, wasting visual space on the client. But if the flag is set to false, the list can be displayed as a pad.
Also, when the server performs the data exchange, it provides a single “envelope” that allows the connecting device to easily understand what the server is trying to do:

namespace Coding4Fun.MissionControl.API.Models
{
public class ServerResponse
{
public string Identifier { get; set; }
public string Marker { get; set; }
public string Content { get; set; }
}
}

The Identifier property carries the server IP address. That way, when a device receives a response, it is able to either accept it, because it knows that a response is requested from a target location, or discard it because the user is no longer using the specific server.
Marker carries the command type of the sent command, therefore giving the Windows Phone application a hint as to what to do with the data. The server can send the following commands:

SET_LIST – returns the list of sets that are currently available on the server.SET_COMMANDS:SET_NAME:IS_LIST – returns the list of commands that are associated with a given set that is currently stored on the server.NOTIFICATION – send a simple notification to the client; no further action is required.
Last but not least, Content is used to push the necessary data that is associated with the given Marker. It can be either a JSON-based string that lists the sets or commands, or a plain-text message that is used as an alert for the end-user.
Server Architecture

The server is the only component of this entire system that does all the heavy lifting. It learns commands, stores them and then generates new IR signal requests, as controlled from any of the connected clients. Let’s take a closer look at what happens behind the scenes—to start, I am going to document the network infrastructure.
The Network Layer

In order to be a reliable system, the server needs to be always ready to accept an incoming connection. For that purpose, it is possible to use the TcpListener class—an “always on” receiver that can handle incoming TCP connections. I integrated it in my CoreStarter class that is used to start the listener when the application is launched:

namespace Coding4Fun.MissionControl.API
{
public class CoreStarter
{
static TcpListener listener;

public static void LaunchSocket()
{
Console.WriteLine("Starting socket server on port {0}...", Constants.DEFAULT_PORT);
listener = new TcpListener(NetworkHelper.GetLocalIPAddress(), Constants.DEFAULT_PORT);
listener.Start();

for (int i = 0; i < Constants.MAX_CONCURRENT_CLIENTS; i++)
{
Thread socketThread = new Thread(new ThreadStart(ListenForData));
socketThread.Start();
}
}

private static void ListenForData()
{
Console.WriteLine("Listener thread started.");

while (true)
{
Socket acceptedSocket = listener.AcceptSocket();
using (MemoryStream coreStream = new MemoryStream())
{
try
{
Console.WriteLine("Incoming connection: {0}", acceptedSocket.RemoteEndPoint);

using (Stream sourceStream = new NetworkStream(acceptedSocket))
{
sourceStream.ReadTimeout = Constants.SOCKET_READ_TIMEOUT;

byte[] buffer = new byte[Constants.DEFAULT_BUFFER_SIZE];
int i;

while ((i = sourceStream.Read(buffer, 0, buffer.Length)) != 0)
{
coreStream.Write(buffer, 0, i);
}
}
}
catch
{
string data = Encoding.ASCII.GetString(coreStream.ToArray());

CommandHelper.InterpretCommand(data, acceptedSocket.RemoteEndPoint.ToString());
}
}
}
}
}
}

When LaunchSocket is called, the listener is activated on the current machine. As I mentioned above, the port number can be arbitrarily assigned, but has to be consistent between connecting apps in order for the TCP links to be established. Because I expect that more than one device will be connecting to the service at a time, the listener is set as active across a constant number of threads.
NOTE: By default, a there is a maximum limit of 5 simultaneous clients. Although this number can be adjusted, be aware of the requirements of each environment in which a limited number of potential devices can connect. Even though the performance footprint of each thread is minimal, it can have a negative effect if used in unnecessarily large instances.
ListenForData is used to read the incoming stream. When an inbound connection is accepted, the data is read with the help of a fixed content buffer. Then a read timeout is specified to prevent situations where the stream was completely read but the application still waits to pull non-existent data. Once the timeout milestone is hit, an exception is thrown, which marks the end of the stream—at this point, the plain text data that was received (remember that both the server and client exchange text data only) is passed to the command interpreter—CommandHelper, with a reference to the source of the command.
The commands from the device are passed as serialized key-value pairs (KeyValuePair), the key being the command with any possible suffixes, and the value being the contents of the command itself that helps the server identify the specific item in the local storage.
InterpretCommand,in this case, does three things sequentially:

Deserialize the incoming string and create a KeyValuePair instance.Process the command and check whether it is recognizable.Send a response to the client, if deemed necessary by the command type.
The serialization and deserialization is done via JSON.NET. You can install this package in your console managed Win32 project and the Windows Phone application project via NuGet:

The deserialization step is as simple as one line of C# code:

KeyValuePair result = JsonConvert.DeserializeObject(rawCommand.Remove(0, rawCommand.IndexOf('{')));

The string is sanitized to ensure that only JSON content is being passed to the serializer.
Because of a relatively limited command set, I can put together the entire interpretation stack like this:

// Get the initial list of sets on the target server
if (result.Key == Constants.COMMAND_INIT)
{
SendSets(sourceLocation);
}
// Create a new set on the target server
else if (result.Key.Contains(Constants.COMMAND_CREATE_SET))
{
CreateSet(result, sourceLocation);
SendSets(sourceLocation);
}
// Get the commands that are associated with a given set.
else if (result.Key == Constants.COMMAND_GET_COMMANDS)
{
SendCommands(result.Value, sourceLocation);
}
// The client requested the server to learn a new command.
else if (result.Key.Contains(Constants.COMMAND_LEARN_COMMAND))
{
LearnCommand(result, sourceLocation);
}
// The client requested one of the commands to be executed on the
// target server.
else if (result.Key.Contains(Constants.COMMAND_EXECUTE))
{
ExecuteCommand(result);
}
// The client has requested a set to be deleted from the target server.
else if (result.Key == Constants.COMMAND_DELETE_SET)
{
DeleteSet(result.Value);
SendSets(sourceLocation);
}
// The client has requested a set to be deleted from the target server.
else if (result.Key.Contains(Constants.COMMAND_DELETE_COMMAND))
{
DeleteCommand(result);
SendCommands(result.Key.Split(new char[] { ':' })[1], sourceLocation);
}

All commands are constants, declared in the local helper class:

public const string COMMAND_INIT = "INIT";

public const string COMMAND_CREATE_SET = "CREATE_SET";

public const string COMMAND_GET_COMMANDS = "GET_COMMANDS";

public const string COMMAND_LEARN_COMMAND = "LEARN_COMMAND";

public const string COMMAND_EXECUTE = "EXECUTE";

public const string COMMAND_DELETE_SET = "DELETE_SET";
public const string COMMAND_DELETE_COMMAND = "DELETE_COMMAND";

Notice that these are not the commands that the server sends back, but rather the commands it receives from connecting Windows Phone devices.
Let’s now take a look at the breakdown for each command.
SendSets:

///
/// Send the list of sets to the client that requested those.
///
///
The location of the requesting client.
private static void SendSets(string sourceLocation)
{
Console.WriteLine("Received an initial set query from {0}", sourceLocation);
ServerResponse response = new ServerResponse();
response.Marker = "SET_LIST";
response.Content = JsonConvert.SerializeObject(StorageHelper.GetRawSetNames());
response.Identifier = NetworkHelper.GetLocalIPAddress().ToString();
NetworkHelper.SendData(sourceLocation, JsonConvert.SerializeObject(response));
Console.WriteLine("Sent the set list to {0}", sourceLocation);
}
When this command is received, the server does not have to do much processing. It is only invoked when the client establishes the initiating link and needs to know what possible sets it can get from the target machine. The request is logged in the console and a server response is prepared that contains a serialized list of set names, which is later serialized as well and sent back to the source machine location.
StorageHelper and NetworkHelper will be documented later in this article.
CreateSet:

///
/// Create a new set and store it on the local server.
///
///
The original deserialized command.
///
The location of the requesting client.
private static void CreateSet(KeyValuePair result, string sourceLocation)
{
bool isSuccessful = false;
string[] data = result.Key.Split(new char[] { ':' });

Console.WriteLine("There is an attempt to create the {0} set from {1}.", result.Value, sourceLocation);

if (data[1].ToLower() == "list")
isSuccessful = StorageHelper.AddSet(result.Value);
else
isSuccessful = StorageHelper.AddSet(result.Value, false);

if (isSuccessful)
Console.WriteLine("The {0} set was successfully created.", result.Value);
else
Console.WriteLine("Something happened and the {0} set was not created.", result.Value);
}
When a mobile device attempts to create a new set on the server, it sends a command in the following format:
CREATE_SET:list/pad, SET_NAME
CreateSet will get the type of the set that was created, will check whether a set with the same name already exists and will either create it or ignore the command altogether. No notification is sent to the connecting device, but either the failure or the success of the command is registered in the local console.
SendCommands:

///
/// Send a list of commands that are associated with the pushed set.
///
///
The original deserialized command.
///
The location of the requesting client.
private static void SendCommands(string setName, string sourceLocation)
{
Console.WriteLine("There was a request to get the commands for the {0} set from {1}.", setName, sourceLocation);

bool isList = StorageHelper.IsSetAList(setName);

ServerResponse response = new ServerResponse();
response.Marker = string.Format("SET_COMMANDS:{0}:{1}", setName, isList);
response.Identifier = NetworkHelper.GetLocalIPAddress().ToString();
response.Content = JsonConvert.SerializeObject(StorageHelper.GetRawCommandNames(setName));

NetworkHelper.SendData(sourceLocation, JsonConvert.SerializeObject(response));

Console.WriteLine("Command list for the {0} set were sent to {1}.", setName, sourceLocation);
}
Commands are sent in the same manner as sets—once the set is recognized, the names of the associated commands are retrieved and serialized inside a ServerResponse instance and then pushed back to the requesting device.
LearnCommand:

///
/// Learn a new command and store it on the target server.
///
///
The original deserialized command.
///
The location of the requesting client.
private static void LearnCommand(KeyValuePair result, string sourceLocation)
{
Console.WriteLine("[!] Server in COMMAND LEARNING MODE! Point the remote towards the sensor and send a command.");

string[] data = result.Key.Split(new char[] { ':' });
var set = StorageHelper.GetSingleSet(StorageHelper.GetSets(), data[1]);

if (set != null)
{
if ((from c in set.Commands where c.Name == result.Value select c).FirstOrDefault() != null)
{
Console.WriteLine("Cannot learn command {0} for the following set: {1}. Command already exists.", data[1], result.Value);

ServerResponse response = new ServerResponse();
response.Marker = "NOTIFICATION";
response.Identifier = NetworkHelper.GetLocalIPAddress().ToString();
response.Content = "We could not save the following command - " + result.Value + ". It already exists in the set.";

NetworkHelper.SendData(sourceLocation, JsonConvert.SerializeObject(response));
}
else
{
if (sensor == null)
sensor = new IR();

sensor.open(-1);

sensor.waitForAttachment();

sensor.Learn += (sender, args) =>
{
Console.WriteLine("[!] Server learned the command and is no longer in COMMAND LEARNING MODE.");
IRLearnedCode code = args.LearnedCode;
code.CodeInfo.MinRepeat = 5;

Command command = new Command();
command.Name = result.Value;
command.Code = IRCodeWorker.GetSerializableIRCode(code);

StorageHelper.AddCommand(command, set.Name);

ServerResponse response = new ServerResponse();
response.Marker = "NOTIFICATION";
response.Identifier = NetworkHelper.GetLocalIPAddress().ToString();
response.Content = "The following command has been stored: " + result.Value;

NetworkHelper.SendData(sourceLocation, JsonConvert.SerializeObject(response));
};
}
}
}
Once a request was received that the server needs to learn a new command, an initial verification is done to make sure that the requested command name and set are not already taken. If neither the command nor the set exist, both will be created.
After the basic setup is complete, the IR sensor is activated and will be waiting for the command to be learned. The way it works is quite simple – the sensor will remain in learning mode until the point where it recognizes a command without error, being 100% sure that it can be reproduced internally. You will need to point your remote towards the sensor and hold the button you want captured for one or two seconds in order for the command to be learned.
NOTE: To ensure that a proper transmission is done, I manually set the minimal repeat value to 5. This is the number of times the sensor will fire the same code towards the target. That is the optimal value for a target device to receive the code if the remote is pointed directly at it without necessarily triggering the same command twice or more.
After the command is learned, the code is processed and transformed into a serializable instance. The connecting client is then notified about whether the command was learned.
ExecuteCommand:

///
/// Execute one of the commands currently stored on the local server.
///
///
The original deserialized command.
private static void ExecuteCommand(KeyValuePair result)
{
string[] data = result.Key.Split(new char[] { ':' });

var set = StorageHelper.GetSingleSet(StorageHelper.GetSets(), data[1]);

if (set != null)
{
var command = StorageHelper.GetSingleCommand(StorageHelper.GetCommands(set.Name), result.Value);

IRLearnedCode code = IRCodeWorker.GetLearnedCode(command.Code);

if (sensor == null)
sensor = new IR();

sensor.open(-1);
sensor.waitForAttachment();
sensor.transmit(code.Code, code.CodeInfo);
sensor.close();
}
}
Command execution relies on the hardware sensor. The phone sends a command execution request in the following format:
EXECUTE:SET_NAME, COMMAND_NAME
Once the command is parsed out and found in the local storage, the IR code is transformed back to a model that is recognizable by the Phidgets SDK and transmitted towards the location where the sensor is pointed at the time of the execution.
DeleteSet:

///
/// Delete a single set and all the associated commands
///
///
The name of the set.
private static void DeleteSet(string target)
{
var sets = StorageHelper.GetSets();
var targetSet = StorageHelper.GetSingleSet(sets, target);

if (targetSet != null)
{
StorageHelper.RemoveSet(sets, targetSet);
}
}
When deleting a set, only the name of the set should be specified. The user will get a warning on the client side that requires a confirmation of the deletion. The server will blindly execute the command.
DeleteCommand:

private static void DeleteCommand(KeyValuePair result)
{
var sets = StorageHelper.GetSets();
string setName = result.Key.Split(new char[] {':'})[1];
var targetSet = StorageHelper.GetSingleSet(sets, setName);
var command = (from c in targetSet.Commands where c.Name == result.Value select c).FirstOrDefault();

if (command != null)
{
targetSet.Commands.Remove(command);
StorageHelper.SerializeSets(sets);
}
}

Not only can the user remove entire sets, but he can also target specific commands from a given set. Once a DELETE_COMMAND directive is recognized, the set name is parsed out from the original string, that follows the DELETE_COMMAND:SET_NAME, COMMAND_NAME format, and a simple LINQ query extracts the command instance, removes it and stores the set content on the local hard drive.
Notice that for some commands, particularly for set creation, deletion and command deletion, the server will return a list of the remaining items. The contents will be automatically updated on the devices, which will be waiting for that response. This measure was deliberately introduced to minimize the chances of a user triggering a command that was already deleted or trying to query a previously removed set.
Transforming Codes

You might have noticed that I am using IRCodeWorker.GetSerializableCodeType to transform a Phidgets SDK native IR code model into a serializable one. This is a helper function that performs a field copy of the existing object. Because of the differences in the model structure, it has to be done manually:

public static SerializableIRCode GetSerializableIRCode(IRLearnedCode code)
{
SerializableIRCode sCode = new SerializableIRCode();
sCode.BitSize = code.Code.BitCount;
sCode.Encoding = code.CodeInfo.Encoding;
sCode.CarrierFrequency = code.CodeInfo.CarrierFrequency;
sCode.CodeData = code.Code.Data;
sCode.DutyCycle = code.CodeInfo.DutyCycle;
sCode.Gap = code.CodeInfo.Gap;
sCode.Header = code.CodeInfo.Header;
sCode.MinRepeat = 5;
sCode.One = code.CodeInfo.One;
sCode.Repeat = code.CodeInfo.Repeat;
sCode.Trail = code.CodeInfo.Trail;
sCode.Zero = code.CodeInfo.Zero;
sCode.Mask = new ToggleMask()
{
BitSize = code.CodeInfo.ToggleMask.BitCount,
CodeData = code.CodeInfo.ToggleMask.Data
};

return sCode;
}

The reverse process is easier because I can pass each of the existing properties to the IRCodeInfo constructor. The only difference is the fact that I need to use Reflection to create an instance of IRLearnedCode because there is no public constructor defined and a dynamic object has to be created:

internal static IRLearnedCode GetLearnedCode(SerializableIRCode serializableIRCode)
{
IRCode code = new IRCode(serializableIRCode.CodeData, serializableIRCode.BitSize);
IRCodeInfo info = new IRCodeInfo(serializableIRCode.Encoding, serializableIRCode.BitSize, serializableIRCode.Header,
serializableIRCode.Zero, serializableIRCode.One, serializableIRCode.Trail, serializableIRCode.Gap, serializableIRCode.Repeat,
serializableIRCode.MinRepeat, serializableIRCode.Mask.CodeData, IRCodeInfo.IRCodeLength.Constant,
serializableIRCode.CarrierFrequency, serializableIRCode.DutyCycle);

object[] parameters = new object[] { code, info };

BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
object instantType = Activator.CreateInstance(typeof(IRLearnedCode), flags, null, parameters, null);

return (IRLearnedCode)instantType;
}

Command and Set Management

Looking back at the code that I put together for the command interpreter, there is one class that does all local content manipulation—StorageHelper. This is a simple class that performs LINQ queries on set as well as command collections, and makes sure that all the changes are preserved in the sets.xml file in the application folder that is used as the only storage place for all the content that is being manipulated by the server.

namespace Coding4Fun.MissionControl.API.Helpers
{
public class StorageHelper
{

///
/// Lists all available sets that are currently stored on the server.
///
/// List of sets on the machine.
internal static List GetSets()
{
List sets = null;

string rawContent = GetRawSets();
sets = JsonConvert.DeserializeObject(rawContent);

return sets;
}

///
/// Returns the list of commands that are associated with the given set.
///
///
The name of the target set.
/// List of commands associated with the given set.
internal static List GetCommands(string setName)
{
List commandList = null;

var sets = GetSets();

Set singleSet = null;
if (sets != null)
singleSet = (from c in sets where c.Name == setName select c).FirstOrDefault();

if (singleSet != null)
{
commandList = singleSet.Commands;
}

return commandList;
}

///
/// Gets the list of names for the commands in the requested set.
///
///
The name of the target set.
/// List of commands associated with the given set.
internal static List GetRawCommandNames(string setName)
{
List commandList = GetCommands(setName);

List stringSet = null;

if (commandList != null)
{
stringSet = commandList.Select(x => x.Name).ToList();
}

return stringSet;
}

///
/// Get the list of names for all sets on the local server.
///
/// List of sets on the machine.
internal static List GetRawSetNames()
{
List sets = GetSets();

List stringSet = null;

if (sets != null)
{
stringSet = sets.Select(x => x.Name).ToList();
}

return stringSet;
}

///
/// Get the raw string contents of sets.xml. Should only be used in the
/// context of this class.
///
/// JSON string representing stored sets and commands.
internal static string GetRawSets()
{
string sets = string.Empty;

if (File.Exists("sets"))
{
using (StreamReader reader = new StreamReader(File.OpenRead("sets")))
{
sets = reader.ReadToEnd();
}
}
else
{
FileStream stream = File.Create("sets.xml");

stream.Close();
}

return sets;
}

///
/// Check whether a set is marked with a IsList flag.
///
///
The name of the target set.
/// TRUE - set is a list. FALSE - set is not a list.
internal static bool IsSetAList(string setName)
{
bool isList = true;
var sets = GetSets();
Set set = null;

if (sets != null)
set = (from c in sets where c.Name == setName select c).FirstOrDefault();

if (set != null)
isList = set.IsList;

return isList;
}

///
/// Serialize the set collection to sets.xml
///
///
Collection to be serialized.
/// true if sets are serialized.
private static bool SerializeSets(List sets)
{
try
{
using (StreamWriter writer = new StreamWriter("sets.xml", false))
{
string data = JsonConvert.SerializeObject(sets);

writer.Write(data);
}

return true;
}
catch
{
return false;
}
}

///
/// Add a new set to the existing global set collection.
///
///
Set name.
/// true if successfully added set.
internal static bool AddSet(string name, bool isList = true)
{
var sets = GetSets();

if (sets == null)
sets = new List();

var singleSet = GetSingleSet(sets, name);

if (singleSet == null)
sets.Add(new Set { Name = name, IsList = isList });

if (SerializeSets(sets))
return true;
else
return false;
}

///
/// Retrieves a single set from a collection that has a specific name.
///
///
The source collection from which to extract the set.
///
The name of the set to get.
/// An instance of the found set, if any.
internal static Set GetSingleSet(List sets, string name)
{
if (sets != null)
return (from c in sets where c.Name == name select c).FirstOrDefault();
else
return null;
}

///
/// Add a IR command to an existing set. If the set is not found, it will be created.
///
///
The command instance to be added.
///
The name of the target set.
/// true if the command was successfully added.
internal static bool AddCommand(Command command, string targetSet)
{
var sets = GetSets();

if (sets == null)
sets = new List();

var singleSet = GetSingleSet(sets, targetSet);

if (singleSet == null)
singleSet = new Set { Name = targetSet };

var singleCommand = (from c in singleSet.Commands where c.Name == command.Name select c).FirstOrDefault();

if (singleCommand == null)
{
singleSet.Commands.Add(command);

if (SerializeSets(sets))
return true;
else
return false;
}
else
return false;
}

///
/// Retrieve a single command instance from one of the sets on the local server.
///
///
Original list of commands.
///
Name of the command to be retrieved.
/// An instance of the command, if found. NULL if not.
internal static Command GetSingleCommand(List commands, string name)
{
if (commands != null)
return (from c in commands where c.Name == name select c).FirstOrDefault();
else
return null;
}

///
/// Remove a set from a local machine.
///
///
Original list of sets.
///
Name of the set to remove.
internal static void RemoveSet(List sets, Set targetSet)
{
sets.Remove(targetSet);

SerializeSets(sets);
}
}
}
Sending Data Back to the Client

SendData in the NetworkHelper class handles all outbound connections. Here is its structure:

///
/// Send data to the target network machine.
///
///
The target machine IP.
///
Data to be sent, in string format.
///
Determines whether to remove the port from the given IP string.
public static void SendData(string destination, string data, bool sanitizeIp = true)
{
using (Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
{
string completeIp = string.Empty;

if (sanitizeIp)
completeIp = destination.Remove(destination.IndexOf(":"), destination.Length - destination.IndexOf(":"));

client.Connect(completeIp, 6169);
client.Send(Encoding.UTF8.GetBytes(data));
}
}
A new stream socket is created in order to connect to the target machine over the TCP pipe. If IP sanitization is enabled, the port is stripped from the address in order to pass a valid IP. A Socket instance cannot directly handle IPs of the format:
255.255.255.0:PORT_NUMBER
Later, in a synchronous manner, a connection is established and the data is sent.
At this point, you can see that the barebones service offers a flexible way to manage content. It can be accessed by any application type as long as the server can be accessed and the application can send commands in the pre-defined format and the content requested is actually located on the target server. This allows for high levels of extensibility and interoperability, as the server usage is not limited to a single platform. If I decide to create a Windows Store application that would allow me to control my TV, I simply need to add socket connection layer that will send plain strings to the machine where the IR sensor is connected.
Similarly, if some functionality needs to be added, it is possible to do so without ever touching the client applications. A modification in the endpoint will be reflected with no direct effect on all connection applications as long as all handled returned and requested values are preserved. The only additional requirement is that if the client applications want to take advantage of newly introduced capabilities, they need to have an updated command transmission layer for the new command types.
In Program.cs, I simply need to start the server through the CoreStarter class:

namespace Coding4Fun.MissionControl.API
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Coding4Fun MissionControl Server");
CoreStarter.LaunchSocket();
}
}
}

Mobile client overview

The mobile client does not have the capability to send commands directly to the IR sensor. Instead, it connects to a remote machine that has the IR sensor plugged in and attempts to invoke a command from the list returned by the service. A single mobile client can support control over multiple servers.
NOTE: Make sure that at the time of working with the Windows Phone client, the server is actually running on your local machine. To make it easier to test, also open port 6169 for incoming connections in Windows Firewall.
When building a Windows Phone application, make sure you have the proper version of the SDK installed, as well as a SLAT-compatible machine if you plan on testing the application in the emulator.
Networking Infrastructure

The Windows Phone application also relies on a network infrastructure somewhat similar to that of the server. There is a TCP listener that is created when the application is started:

// Code to execute when the application is launching (eg, from Start)
// This code will not execute when the application is reactivated
private void Application_Launching(object sender, LaunchingEventArgs e)
{
ServiceSerializer.DeserializeServices();

listener.OnClientConnected += listener_OnClientConnected;
listener.Start(6169);
}

Here, listener is an instance of TcpSocketListener—a custom class designed to handle incoming network connections:

namespace Coding4Fun.MissionControl.WP.Network
{
public class TcpSocketListener : SocketConnectorBase
{
StreamSocketListener coreSocket;

public async void Start(int port)
{
coreSocket = new StreamSocketListener();
coreSocket.ConnectionReceived += coreSocket_ConnectionReceived;

try
{
await coreSocket.BindServiceNameAsync(port.ToString());
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);

coreSocket.Dispose();
coreSocket = null;
OnConnectionCompleted(new ConnectionEventArgs { IsSuccessful = false, DeviceID = string.Empty });
}
}

async void coreSocket_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
Debug.WriteLine("Connection received!");

DataReader reader = new DataReader(args.Socket.InputStream);

try
{
while (true)
{
StringBuilder builder = new StringBuilder();

uint actualLength = 1;

while (actualLength > 0)
{
actualLength = await reader.LoadAsync(256);
builder.Append(reader.ReadString(actualLength));
}

OnConnectionCompleted(new ConnectionEventArgs
{
Socket = args.Socket,
IsSuccessful = true,
DeviceID = args.Socket.Information.RemoteHostName.DisplayName,
Token = builder.ToString()
});
break;
}
}
catch (Exception exception)
{
Debug.WriteLine(exception.Message);

OnConnectionCompleted(new ConnectionEventArgs { IsSuccessful = false });
}
}
}
}

A StreamSocketListener is used for the connection core. When a connection is received, a continuous loop reads the entire contents of the incoming stream. OnConnectionCompleted is declared in the base class—SocketConnectorBase.

namespace Coding4Fun.MissionControl.WP.Network
{
public class SocketConnectorBase
{
public event EventHandler OnClientConnected;
public virtual void OnConnectionCompleted(ConnectionEventArgs connectionArgs)
{
if (OnClientConnected != null)
{
OnClientConnected(this, connectionArgs);
}
}

public event EventHandler OnSendCompletedEvent;
public virtual void OnSendCompleted(bool succeeded)
{
if (OnSendCompletedEvent != null)
{
OnSendCompletedEvent(this, succeeded);
}
}
}

public class ConnectionEventArgs : EventArgs
{
public StreamSocket Socket { get; set; }
public string DeviceID { get; set; }
public string Token { get; set; }
public bool IsSuccessful { get; set; }
}
}

ConnectionEventArgs here is used to identify the content that is passed to the client. DeviceID gives access to the source IP, IsSuccessful tells the developer whether the established connection is active and the Token carries the raw string if any was received.
Sending data is simplified to the maximum with the help of the SocketClient class, which relies on a StreamSocket instance that handles outbound connections and writing to the output stream:

namespace Coding4Fun.MissionControl.WP.Network
{
public class SocketClient : SocketConnectorBase
{
StreamSocket _socket;

public SocketClient()
{
_socket = new StreamSocket();
}

public SocketClient(StreamSocket socket)
{
_socket = socket;
}

public async void Connect(string hostName, int portNumber)
{
try
{
await _socket.ConnectAsync(new HostName(hostName), portNumber.ToString(), SocketProtectionLevel.PlainSocket);

OnConnectionCompleted(new ConnectionEventArgs { IsSuccessful = true });
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);

OnConnectionCompleted(new ConnectionEventArgs { IsSuccessful = false });
}
}

public async void Send(string dataToSend)
{
try
{
using (DataWriter writer = new DataWriter(_socket.OutputStream))
{
// Write the length of the binary data that is being
// sent to the client.
writer.WriteUInt32((UInt32)dataToSend.Length);

writer.WriteString(dataToSend);

// Send the actual data.
await writer.StoreAsync();

writer.DetachStream();

OnSendCompleted(true);
}
}
catch
{
_socket.Dispose();
_socket = null;
OnSendCompleted(false);
}
}
}
}

As with the listener class, SocketClient supports OnConnectionCompleted to notify the application that the connection attempt completed.
Back in App.xaml.cs, the data from the incoming connection captured by the TcpSocketListener instance is passed to the ResponseHelper class:

void listener_OnClientConnected(object sender, ConnectionEventArgs e)
{
ResponseHelper.HandleIncomingResponse(e.Token);
}

This class reads the possible three commands sent by the server and interprets them, creating internal collections from the raw data if the current server IP matches the one obtained in the ServerResponse (the same model in the desktop application):

using Coding4Fun.MissionControl.WP.Models;
using Coding4Fun.MissionControl.WP.ViewModels;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Windows;

namespace Coding4Fun.MissionControl.WP.Misc
{
public class ResponseHelper
{
public static void HandleIncomingResponse(string rawResponse)
{
if (rawResponse != null)
{
ServerResponse response = JsonConvert.DeserializeObject(rawResponse);

if (response.Marker == Constants.COMMAND_SERVER_NOTIFICATION)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
MessageBox.Show(response.Content, "Server Response", MessageBoxButton.OK);
});
}
else
{
if (CommonViewModel.Instance.IsWaiting)
{
if (response.Identifier == CommonViewModel.Instance.CurrentServer.Location)
{
// returns the list of sets that are associated with the current server.
if (response.Marker == Constants.COMMAND_SERVER_SET_LIST)
{

List items = JsonConvert.DeserializeObject(response.Content);

if (items != null)
{
List groupedItems = Group.CreateGroups(items,
CultureInfo.CurrentCulture, (string s) => { return s[0].ToString(); }, true);
SetsPageViewModel.Instance.Sets = groupedItems;
}
else
{
SetsPageViewModel.Instance.Sets = new List();
}

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
CommonViewModel.Instance.IsWaiting = false;

if (!App.RootFrame.CurrentSource.ToString().Contains("SetsPage"))
{
App.RootFrame.Navigate(new Uri("/Views/SetsPage.xaml", UriKind.Relative));
}
});

}
// returns the list of commands associated with a given set.
else if (response.Marker.Contains(Constants.COMMAND_SERVER_SET_COMMANDS))
{
string[] data = response.Marker.Split(new char[] { ':' });
if (data[1] == CommonViewModel.Instance.CurrentSet)
{
bool isList = false;
bool.TryParse(data[2].ToLower(), out isList);

if (isList)
{
CommonViewModel.Instance.CurrentSetType = "list";
}
else
{
CommonViewModel.Instance.CurrentSetType = "pad";
}

CommandsPageViewModel.Instance.Commands = new System.Collections.ObjectModel.ObservableCollection(JsonConvert.DeserializeObject(response.Content));

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
CommonViewModel.Instance.IsWaiting = false;
App.RootFrame.Navigate(new Uri("/Views/CommandsPage.xaml", UriKind.Relative));
});
}
}
}
}
}
}
}
}
}

If the response comes from a server that is different than the one that is currently active, the data is discarded as the user no longer needs it. Also, for specific commands, the mobile application will be on standby, waiting for a response (unless the user decides to cancel the request) – the IsWaiting flag is an application-wide indicator that a pending server action is in the queue.
Same as with the server, the commands in the Windows Phone application are represented through pre-defined constants:

public const string COMMAND_SERVER_SET_LIST = "SET_LIST";

public const string COMMAND_SERVER_SET_COMMANDS = "SET_COMMANDS";

public const string COMMAND_SERVER_NOTIFICATION = "NOTIFICATION";

Let’s now take a closer look at how it is handled internally to build the visual layer.
Handling the Data

The first thing users will see when the application is launched is the list of registered servers:

This is ServiceListPage.xaml




Revision Note: V1.0 (July 10, 2012): Advisory published.
Summary: Microsoft is announcing the availability of an automated Microsoft Fix it solution that disables the Windows Sidebar and Gadgets on supported editions of Windows Vista and Windows 7. Disabling the Windows Sidebar and Gadgets can help protect customers from vulnerabilities that involve the execution of arbitrary code by the Windows Sidebar when running insecure Gadgets. In addition, Gadgets installed from untrusted sources can harm your computer and can access your computer's files, show you objectionable content, or change their behavior at any time.

More...




Originally Posted by deadrabit Hi,

an eror message has been bugging my lately, rather since I started using programs which use the remote access connection manager.

one of them is songbird (the fire-foxy media player) which cannot listen to shared music, and SecondLife which uses it to make http calls, both of which make up pretty major parts of my day to day.

the actual error reads:
Network Connections
Cannot load the remote access connection manager service.

Error 711: the operation could not finish because it could not start the remote access connection manager service in time. please try the operation again.

I found this weblink on microsoft support which explains that windows is stupid and I should load the following dependant services manually.
Telephony
Remote Access Connection Manager
Remote Access Auto Connection Manager

Telephony on my computer is already running, the Remote Access Auto Connection Manager depends on Remote Access Connection Manager, when I try to start the Remote Access Connection Manager service I get the error message:
Services
Windows could not start the remote access connection manager service on local computer

Error 1068: The dependancy Service or group failed to start.

so, down the rabit hole....
the Remote Access Connection Manager depends on Telephony (already running) and Secure Socket Tunneling Protocol Service.

when I try to manually start the Secure Socket Tunneling Protocol Service I get the following informative message:
Services
The Secure Socket Tunneling Protocol Service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.

this is the end of our journey I'm afraid, its a circular problem as apparently the rabit hole leads to a perfectly functional service. So I'm at a loss, and would very much like to hear a solution or from anyone with similar issues.

thanks for any advice.
Rabit I fixed the problem by using regedit.
Click on the Start button and type regedit in the search block. Click on regedit.exe
Open HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesSstpSvc Right click on "Start" and click on Modify. Change the Data Value to one less than the value. I changed it from a 4 to a 3 This fixed the errors 711 and 1068




http://en.wikipedia.org/wiki/Computer_security

The technologies of computer security are based on logic. As security is not necessarily the primary goal of most computer applications, designing a program with security in mind often imposes restrictions on that program's behavior.
There are several approaches to security in computing, sometimes a combination of approaches is valid:
Trust all the software to abide by a security policy but the software is not trustworthy (this is computer insecurity).Trust all the software to abide by a security policy and the software is validated as trustworthy (by tedious branch and path analysis for example).Trust no software but enforce a security policy with mechanisms that are not trustworthy (again this is computer insecurity).Trust no software but enforce a security policy with trustworthy mechanisms.Many systems have unintentionally resulted in the first possibility. Since approach two is expensive and non-deterministic, its use is very limited. Approaches one and three lead to failure. Because approach number four is often based on hardware mechanisms and avoids abstractions and a multiplicity of degrees of freedom, it is more practical. Combinations of approaches two and four are often used in a layered architecture with thin layers of two and thick layers of four.
There are various strategies and techniques used to design security systems. However there are few, if any, effective strategies to enhance security after design. One technique enforces the principle of least privilege to great extent, where an entity has only the privileges that are needed for its function. That way even if an attacker gains access to one part of the system, fine-grained security ensures that it is just as difficult for them to access the rest.
Furthermore, by breaking the system up into smaller components, the complexity of individual components is reduced, opening up the possibility of using techniques such as automated theorem proving to prove the correctness of crucial software subsystems. This enables a closed form solution to security that works well when only a single well-characterized property can be isolated as critical, and that property is also assessible to math. Not surprisingly, it is impractical for generalized correctness, which probably cannot even be defined, much less proven. Where formal correctness proofs are not possible, rigorous use of code review and unit testing represent a best-effort approach to make modules secure.
The design should use "defense in depth", where more than one subsystem needs to be violated to compromise the integrity of the system and the information it holds. Defense in depth works when the breaching of one security measure does not provide a platform to facilitate subverting another. Also, the cascading principle acknowledges that several low hurdles does not make a high hurdle. So cascading several weak mechanisms does not provide the safety of a single stronger mechanism.
Subsystems should default to secure settings, and wherever possible should be designed to "fail secure" rather than "fail insecure" (see fail safe for the equivalent in safety engineering). Ideally, a secure system should require a deliberate, conscious, knowledgeable and free decision on the part of legitimate authorities in order to make it insecure.
In addition, security should not be an all or nothing issue. The designers and operators of systems should assume that security breaches are inevitable. Full audit trails should be kept of system activity, so that when a security breach occurs, the mechanism and extent of the breach can be determined. Storing audit trails remotely, where they can only be appended to, can keep intruders from covering their tracks. Finally, full disclosure helps to ensure that when bugs are found the "window of vulnerability" is kept as short as possible.




http://arstechnica.com/security/news...e-for-free.ars
Anyone operating a server on any scale should want a digital certificate to encrypt data between clients and services, whether for personal, office, or public use. Ars tells you how to obtain and install one, for free.
Anyone operating a server on any scale should want a digital certificate to encrypt data between clients and services, whether for personal, office, or public use. That's a broad statement, but it holds true no matter how you slice it.
With so many people accessing networks over WiFi or other untrusted networks for an increasing number of different kinds of services—calendars, contacts, Webmail, email, and so on—encryption is a must, whether via a VPN or by securing services one by one. While I recommend VPNs, they aren't always the practical, affordable, or correct solution. For remote email access, SSL/TLS is simpler and more straightforward, and you don't have to compromise on protection in the process.
There can be something technically imposing about getting and installing a digital certificate, even though it has a high utility value, so I'm here to make it easier by breaking it down into steps that someone without encryption and command-line knowledge should be able to work with.
I'll start with an explanation of how digital certificates create encrypted sessions. Then I'll describe how to get a free certificate from StartCom as a simple case, before giving a few examples of how to install your certificates.
Secret handshakes

A digital certificate comes in the form of server-side TLS certificate. TLS stands for transport layer security, and in common use it's a method of combining the advantages of public-key cryptography, external third-party (out-of-band) validation, and per-session encryption.
(TLS is the modern name for SSL, the preceding standard. This method is sometimes called SSL/TLS to signal to people who know the older name that it's the same thing; here, let's just call it TLS.)
Public-key cryptography lets one party send information to another, hidden by a public key that can be freely distributed. The receiving party has a private key which is kept strictly secret, and which is the only component which may extract the original message from the public-key-encrypted payload.
Public keys are unwieldy for encrypting long strings of text and for fast encryption of streams of data, such as files being transferred via email or website transactions. Philip Zimmermann created PGP in 1991 as a way around this. The public key transaction is used to exchange a strong session key that's symmetric: both parties use the same key to encrypt and decrypt data. The key is passed in perfect security via the public-key transaction, making the process impenetrable to sniffers and "man in the middle" attacks.
Certificates can be generated for domain names and other data by pretty much anyone; the party generating the certificate doesn't have to be the legitimate owner of the domain or data. So, just as with PGP and the open-source GPG alternative (and SSH and many other similar methods), you need an out-of-band method to validate that party issuing the certificate is really who they say they are.
That's where certificate authorities (CAs) come in. A CA is a group that provides some validation, from cursory to extensive (in the case of Extended Validation certificates), that the party that signed up for a certificate for a given domain name is approximately that entity.
When you connect via a browser to a secure website, for instance, the browser does some handshaking with the server, receives a certificate which contains a public key and some other fielded data, and then turns to a CA to confirm that the certificate is valid.
CAs are preinstalled in browsers, client software, and operating systems, so that the CA itself is validated by the software developer or OS maker. That's where the out-of-band trust comes for the CA!

Firefox alerts you when StartSSL asks for a personal certificate with which to authenticate yourself.

If the browser is mathematically convinced that the certificate is from a valid party for that domain, a key is exchanged, and a session is encrypted.
You can sign your own digital certificates, essentially acting as your own certificate authority, but that's a problem. Because a client and/or OS doesn't know that GlennFleishmanCA is a real authority, the client or OS has to prompt a user to accept an untrusted relationship. Depending on the process, the user may be able to trust a session or not, or to accept a CA's authority permanently.
In an organization, a self-signed cert can work because you can either tell everyone to accept the signing certificate's authority, or you can preinstall the root authority for your own CA in each person's computer. (That can be as simple as dragging a file into a system-wide key manager, clicking import and importing it, or clicking through a couple of dialog boxes.)
But instead of all that tedium and management, especially as new employees or colleagues come and go, it makes more sense to get a fully CA-validated certificate. And you can get one for free.
Start with StartSSL

StartCom's StartSSL service offers a Class 1 certificate at no cost, with fees for higher levels of identity validation (see the site's chart for comparisons). A basic Class 1 certificate doesn't validate all your details; email to a known domain contact address is the only real check. A Class 2 or 3 certificate with your identity or your organization's identity is $40 for two years. An extended validation certificate, which uses an industry standard for checking a submitter's details, is $110 for two years, and will tell a browser to show a green bar on connection.
While StartSSL is free, it isn't a clear process to those that haven't created a certificate before. Let me tell you how to walk through the site.
StartSSL uses an S/MIME personal certificate to let you log in after sign-up. This is certainly more complicated than requiring a username and a password, but it's ostensibly much more reliable because you have to have this cert, which can't be intercepted over a network or captured through keystroke monitoring. Direct access to someone's computer, likely with additional passwords, would be required to access it. (After creating the S/MIME certificate, you can use it to sign emails in programs that support S/MIME.)
(Note: Safari 4 under Mac OS X doesn't correctly interact with StartSSL's site for certificate download, validation, or menu selection. Use Firefox in Mac OS X or Firefox or Internet Explorer under Windows instead.)

Firefox manages personal certificates in its Preferences window under Advanced > Encryption > Your Certificates

Start at the Authenticate or Sign-Up page.Click Sign-up.Fill out the Personal Enrollment details and click Continue. (StartTLS offers many imprecations against trying to falsify data here.)Check the email account for the address you provided in step 3, get the validation code, and enter it, clicking Continue to proceed.Next, StartSSL will generate the private key needed for the client certificate it provides to you for authentication. There's no good reason to choose anything but 2048 (High Grade) as the option. Click Continue.Click Install when the Install button appears. This should be an automatic background process. In Firefox, the certificate is installed into an internal database, from which it can be exported. (If you want to use these credentials with another browser, you can download them again from within the StartSSL website, or you can export the certificate from Firefox and drag into or import into another browser on the same or a different computer.)Click Finish, and you're taken to an authenticated control panel page.




My laptop will not access C drive from my desktop. Get "Access is denied" message. C drive on desktop works fine for the most part. C drive is WD 500 GB (Black) and used to be accessible until I installed Zone Alarm which now I have disabled. C drive is on full control in security for everyone. Windows 7 32. This is the Belarc:
Computer Profile SummaryComputer Name: c-1 (in WORKGROUP)Profile Date: Monday, March 21, 2011 10:37:55 AMAdvisor Version: 8.1pWindows Logon: jhmac77-01-11Plan for your next computer refresh...
click for Belarc's System Management products Operating SystemSystem ModelWindows 7 Home Premium (build 7600)
Install Language: English (United States)
System Locale: English (United States)No details availableProcessor aMain Circuit Board b2.60 gigahertz AMD Athlon 64 X2 Dual Core
128 kilobyte primary memory cache
512 kilobyte secondary memory cache
64-bit ready
Multi-core (2 total)
Not hyper-threadedBoard: ASUSTeK Computer INC. M2A-VM 1.XX
Bus Clock: 200 megahertz
BIOS: Phoenix Technologies, LTD ASUS M2A-VM ACPI BIOS Revision 1901 07/21/2008DrivesMemory Modules c,d1240.28 Gigabytes Usable Hard Drive Capacity
439.33 Gigabytes Hard Drive Free Space

_NEC DVD_RW ND-2510A ATA Device [Optical drive]
3.5" format removeable media [Floppy drive]

EPSON Storage USB Device [Hard drive] -- drive 4
Toshiba USB2.0 Drive R00 USB Device [Hard drive] (100.03 GB) -- drive 3
WDC WD3200AAJS-22L7A0 [Hard drive] (320.07 GB) -- drive 2, s/n WD-WMAV25458498, rev 01.03E01, SMART Status: Healthy
WDC WD3200AAKS-00L9A0 [Hard drive] (320.07 GB) -- drive 1, s/n WD-WMAV29348815, rev 01.03E01, SMART Status: Healthy
WDC WD5001AALS-00J7B0 [Hard drive] (500.11 GB) -- drive 0, s/n WD-WMATV8600289, rev 05.00K05, SMART Status: Healthy1920 Megabytes Usable Installed Memory

Slot 'A0' has 1024 MB
Slot 'A1' has 1024 MB
Slot 'A2' is Empty
Slot 'A3' is EmptyLocal Drive Volumesc: (NTFS on drive 0)500.11 GB227.14 GB freed: (NTFS on drive 2)177.47 GB46.52 GB freee: (NTFS on drive 1)320.07 GB62.46 GB freef: (NTFS on drive 2)142.60 GB88.34 GB freeg: (FAT on drive 2)1 MB0 MB freej: (NTFS on drive 3)100.03 GB14.86 GB freeNetwork Drivesmounted by jhmac77-01-11 at 3/21/2011 10:35:10 AMz: c2c298.85 GB73.78 GB freeUsers (mouse over user name for details)Printerslocal user accountslast logon[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG] jhmac77-01-113/21/2011 9:22:52 AM(admin)local system accounts[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/no.gif[/IMG] Administrator7/14/2009 12:53:58 AM(admin)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG] Guest3/21/2011 10:08:29 AM[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG] HomeGroupUser$3/12/2011 12:08:53 PM
[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/no.gif[/IMG] Marks a disabled account; [IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/lock.gif[/IMG] Marks a locked account Amyuni Document Converter 2.50on LPT1:EPSON WorkForce 610 Serieson USB001Microsoft Shared Fax Driveron SHRFAX:Microsoft XPS Document Writeron XPSPort:ControllersDisplayStandard floppy disk controller
ATA Channel 0 [Controller] (2x)
ATA Channel 1 [Controller] (2x)
Standard Dual Channel PCI IDE Controller (2x)ATI Radeon X1200 Series (Microsoft Corporation - WDDM) [Display adapter]
NEC MultiSync 70 [Monitor] (16.1"vis, s/n 9X08327YB, October 1999)Bus AdaptersMultimediaStandard Enhanced PCI to USB Host Controller
Standard OpenHCD USB Host Controller (5x)High Definition Audio DeviceVirus Protection [Back to Top]new Group PoliciesAVG Anti-Virus Free Edition 2011None discoveredCommunicationsOther DevicesAgere Systems PCI-SV92PP Soft Modem

Microsoft ISATAP AdapterRealtek RTL8168B/8111B Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)primary Auto IP Address: 10.10.10.100 / 24Gateway: 10.10.10.1Dhcp Server: 10.10.10.1Physical Address: 00:1F:C6:B3:EF:90Teredo Tunneling Pseudo-InterfaceNetworking Dns Server: 192.168.1.254HID-compliant consumer control device
HID-compliant device (2x)
USB Input Device (3x)
EPSON WorkForce 610
HID Keyboard Device
Logitech USB TrackMan Wheel [Mouse]
USB Composite Device (2x)
USB Mass Storage Device (2x)
USB Printing Support
USB Root Hub (6x)
Generic volume shadow copy
I:See your entire network map...
click for Belarc's System Management products new Network Map (mouse over IP address for physical address) [Back to Top] IPDevice TypeDevice DetailsDevice Roles10.10.10.1 RouterLinksys / WRT54GS v7.2.06DHCP Server, Gateway, Web Server10.10.10.100 Windows 7 WorkstationC-1 (in WORKGROUP),
c-1.launchmodem.com, AsustekSamba Server, Print Server, Browse Master10.10.10.101 Windows 7 WorkstationC2 (in WORKGROUP)Samba ServerFind your security vulnerabilities...
click for Belarc's System Management products Missing Microsoft Security Hotfixes [Back to Top]
All required security hotfixes (using the 03/08/2011 Microsoft Security Bulletin Summary) have been installed.

Manage all your software licenses...
click for Belarc's System Management products Software Licenses [Back to Top] AVG - IDS7JNN9FY3ZUSQGMHF27AS Belarc - Advisor1f018ad4 Microsoft - Internet Explorer00359-029-8021987-85083 (Key: MYKTQ-HRK64-YT68D-VBRTG-RRMCF)Microsoft - Office 2000 Premium50106-335-7663132-02918 Microsoft - PowerShell89383-100-0001260-04309 Microsoft - Windows 7 Home Premium00359-029-8021987-85083 (Key: MYKTQ-HRK64-YT68D-VBRTG-RRMCF)Zone Labs - ZoneAlarmj5hvqhisiu3s4he7bhx644bu4g0 Find unused software and reduce licensing costs...
click for Belarc's System Management products new Software Versions & Usage (mouse over i for details, click i for location) [Back to Top] ıı
i
2nd Story Software - TaxACT 2001 Version 1, 1, 0, 0
ıı
i
2nd Story Software - TaxACT 2002 Version 1, 2, 0, 0
ıı
i
2nd Story Software - TaxACT 2003 Version 0, 9, 0, 0
ıı
i
2nd Story Software - TaxACT 2004 Version 0, 9, 0, 0
ıı
i
2nd Story Software - TaxACT 2006 Version 1, 0, 0, 0
ıı
i
2nd Story Software - TaxACT 2007 Version 1, 0, 0, 0
ıı
i
2nd Story Software - TaxACT 2008 Version 1, 0, 0, 0

i
Adobe Systems, Inc. - Shockwave Flash Version 10,0,12,36

i
Adobe Systems, Inc. - Shockwave Flash Version 10,1,102,64
ı
i
Almico Software (Almico's Home Page) - SpeedFan Version 4.40
ı
i
ASUS - Launch PC Probe II Version 1.0.0.0
ıı
i
Auslogics - Disk Defrag Version 5.x
ı
i
AVG IDS Version 10.0.0.367
ı
i
AVG Internet Security Version 10.0.0.1204

i
AVG Security Toolbar Version 0.0.0.0
ı
i
Belarc, Inc. - Advisor Version 8.1p
ı
i
Centered Systems - Second Copy Version 7.1
ı
i
Check Point Software Technologies - ZoneAlarm Browser Security Version 1, 5, 240, 0

i
Check Point Software Technologies LTD - TrueVector Service Version 9.2.076.000
ı
i
Check Point Software Technologies LTD - ZoneAlarm Client Version 9.2.076.000

i
Check Point, Inc. - ZoneAlarm Uninstaller Version 9.2.76.0

i
FDM remote control server Version 845.0.0.0
ıı
i
Foxit Reader Version 3, 1, 4, 1125

i
FreeDownloadManager.ORG - Free Download Manager Version 3.0
ıı
i
Glarysoft Ltd - Glary Utilities Version 2.23

i
Google Chrome Version 6.0.472.63

i
Google Chrome Version 7.0.517.44

i
Google Chrome Version 8.0.552.215
ı
i
Google Update Version 1.2.183.21
ıı
i
Grisoft - AVG Anti-Rootkit Version 1, 1, 0, 42
ı
i
H.D.S. Hungary - Hard Disk Sentinel Version 3
ı
i
Intuit - Quicken 2000 for Windows Version 009.000.000.000
ı
i
Intuit - Quicken 99 for Windows Version 008.000.000.000
ı
i
Intuit Inc. - Quicken for Windows Version 16.1.2.25

i
Lavasoft - Ad-Aware Installation Package

i
Lavasoft - Download Guard for Internet Explorer Installer

i
Lavasoft AB - Ad-Aware Version 8.1.0.0
ı
i
Lavasoft Limited - Ad-Aware Admin Application Version 9, 0, 0, 0
ı
i
Lavasoft Limited - Ad-Aware Application Version 9, 0, 1, 0
ı
i
Lavasoft Limited - Ad-Aware Service Application Version 9, 0, 1, 0
ı
i
Lavasoft Limited - ThreatWork Application Version 9, 0, 1, 0

i
Lavasoft Startup Manager Version 1, 0, 0, 236ıı
i
Malwarebytes' Anti-Malware Version 1.50.1.3

i
Microsoft Clip Gallery Version 5.1.00.1221
ı
i
Microsoft Corporation - Internet Explorer Version 9.00.8112.16421
ı
i
Microsoft Corporation - Windows Installer - Unicode Version 5.0.7600.16385

i
Microsoft Corporation - Windows Live installer Version 12.0.1471.1025
ı
i
Microsoft Corporation - Windows Live Mail Version 12.0.1606
ı
i
Microsoft Corporation - Windows® Search Version 7.00.7600.16385
ı
i
Microsoft Office 2000 Version 9.0.2717
ı
i
Microsoft ® Windows Script Host Version 5.8.7600.16385

i
Microsoft® .NET Framework Version 2.0.50727.4927

i
Microsoft® .NET Framework Version 3.0.6920.4902

i
Microsoft® .NET Framework Version 4.0.30319.1
ıı
i
Microsoft® FrontPage® 2000 Version 4.0.2.2717
ıı
i
Microsoft® Windows® Operating System Version 12.0.7600.16385
ıı
i
Mozilla Corporation - Firefox Version 3.6.14
ı
i
OpenOffice.org 3.3
ı
i
OpenOffice.org 3.3 Version 3.03.9556

i
OpenOffice.org Base Version 3.03.9556

i
OpenOffice.org Calc Version 3.03.9556

i
OpenOffice.org Draw Version 3.03.9556

i
OpenOffice.org Impress Version 3.03.9556

i
OpenOffice.org Math Version 3.03.9556
ıı
i
OpenOffice.org Writer Version 3.03.9556

i
OpenOffice.org Writer(Web) Version 3.03.9556
ıı
i
PhotoScape Version 1, 0, 0, 1295
ı
i
Piriform Ltd - CCleaner Version 3, 3, 0, 1366

i
Quicken Online Backup
ı
i
Rick Meyers - e-Sword Version 9.08.0003
ıı
i
SEIKO EPSON CORP. - EPSON Scan Version 3.7
ı
i
SEIKO EPSON CORPORATION - EEventManager Application Version 2, 3, 0, 1

i
SEIKO EPSON CORPORATION - EProjManager Application Version 2, 3, 0, 1

i
SEIKO EPSON CORPORATION - EPSON Driver Update Version 3, 0, 2, 1

i
SEIKO EPSON CORPORATION - Epson Printer Driver Setup Version 7.00
ı
i
SEIKO EPSON CORPORATION - EPSON Status Monitor 3 Version 4.00
ı
i
SEIKO EPSON CORPORATION - EPSON Status Monitor 3 Version 4.02
ı
i
SEIKO EPSON CORPORATION - EPSON Status Monitor 3 Version 5.05
ı
i
SEIKO EPSON CORPORATION - EPSON Status Monitor 3 Version 6.00
ıı
i
Sophos Anti-Rootkit Version 1, 5, 0, 0
ıı
i
Sun Microsystems, Inc. - Java(TM) Platform SE 6 U22 Version 6.0.220.4
ı
i
Sun Microsystems, Inc. - Java(TM) Platform SE Auto Updater 2 0 Version 2.0.2.4
ı
i
The Weather Channel Interactive, Inc. - DW6 Version 6.0.0.16

i
ZoneAlarm Diagnostics Tool

i Mouse over to see details, click to see where software is installed.ı Marks software last used within the past 7 days.ıı Marks software last used within the past 90 days, but over 7 days ago.ııı Marks software last used within the past year, but over 90 days ago.ıııı Marks software last used over 1 year ago.Unmarked software lacks the data to determine last use.Audit your security posture...
click for Belarc's System Management products Installed Microsoft Hotfixes [Back to Top] .NET Framework 4 Client Profile[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB2473228on 3/14/2011(details...).NET Framework 4 Extended[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB2416472on 3/14/2011(details...)Windows 7[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB958488on 3/12/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB971033on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB972270on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB974332on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB974431on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB974571on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB975467on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB975496on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB975560on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB976902on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB977074on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB977165on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB978542on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB978601on 3/12/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB978886on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB979099on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB979309on 3/12/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB979482on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB979538on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB979687on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB979688on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs1.gif[/IMG] KB979900on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB979916on 3/14/2011(details...)[IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/trans.gif[/IMG][IMG]file:///C:/Program%20Files/Belarc/Advisor/System/local/images/shfs3.gif[/IMG] KB980195on 3/14/2011(detail




Ok so I have been working on this all day yesterday and all day so far today. I have been on the phone with Nvidia Tech Support, Windows 7 Tech Support and Dell Tech Support. With Windows 7 Tech Support remotely accessing my computer trying to figure it out, but couldn't. Anyone who can solve this riddle I would be willing to pay you $50 for the solution! haha

This originally started with having two monitors. I originally had a windows vista(i think) operating system on the computer then I downloaded the Windows 7 system last week. Since the download the device manager will not recognize my Nvidia graphics card. The only display adapters that show is an Intel(R) G45/G43 Express Chipset (Microsoft Corporation- WDDM 1.1). I have tried to disable and uninstall this driver in hopes that it would detect the Nvidia card, but it doesn't detect it. I restart the computer or check for new hardware and all it does is automatically redownload the above intel one. I've tried disconnected my internet and it still automatically redownloads the above intel one. I've tried changing my system settings to where no automatic windows adjustments could be made and it still automatically downloads the intel one. I've gone into the BIOS and changed the Advance Chipset Features to the PCI-Express option. (there are only three options to chose from-Onboard, PCI & PCI express) Which one of the tech guys said to do PCI express. The graphics card is in the PCIE slot. I have inserted it and re inserted it a thousand times over, making sure it is properly seated each time. I have installed the driver on a different computer with a different operating system and it detects it and works just fine. I have downloaded the latest BIOS version to the computer then have re performed all the above things. I have gone to nvidia website and selected the correct driver to download for my graphics card, but it won't finish the download because the system won't detect the hardware on my computer. So I have saved the most up to date driver software needed for my graphics card to my desktop, which is as far as I can get with it because when I try to run the driver it stops due to not detecting my hardware. The windows 7 tech people are from the Philippines and while they are polite and nice to talk to, I don't believe anyone there is smart enough to figure this out. The only option they have suggested is to do a custom re installation of windows 7 disabling the intel card from being installed, but I don't have the time to redownload the software, back up everything, etc, as it would be an all day event. I am a pretty technologically savvy person and have tried everything I can possibly think of to fix this as well as tech support from Nvidida, Dell and Windows 7.

i have gone to the power options, change plan settings, change advanced power settings, selected the PCI Express drop down tab, then the link state power management drop down, then put the settings to off to give the PCI Express slot the most power possible since i read somewhere that it may have to do with the graphics card not getting enough power or something like that. I have literally tried everything and am at my wits end on what to do here, because the custom re installation thing is just not going to work for me.

the below or attached picture is the picture of my screen upon start up after the Dell logo, so i know my computer is detecting the graphics card, but windows 7 won't allow me to find it in my device manager in order to get my second monitor working! And the below steps it asks me to follow i have done a hundred times over with no luck...

Please, please, please help if you know how to fix this!!!

The Nvidia graphics card I have is the Geforce 210
My operating system is Windows 7 Professional Service Pack 1
Processor: Intel(R) Pentium(R) Dual CPU E2200 @ 2.20GHz 2.19GHz
Installed Memory(RAM): 4.00 GB (2.96 usable)
System Type: 32-bit Operating System
Computer: Dell Vostro 220




Under my Ipv4 properties in my lan adapter I cannot change my dns settings to obtain DNS server address automatically.Every time I do it reverts back to use the following dns server address.Is there anyway to correct this?I think this may be preventing me from accessing my security cameras from a remote computer.




I have a dell laptop with Windows 7 installed. I have a ubuntu 10.10 installed on the same computer. The Internet was working fine till yesterday on both O.S. But due to the some odd reason I could not access Internet on Windows 7 but in ubuntu it is working fine. Actually, I am using ubuntu to post this message.

I haven't changed the network setting and am using the same wi-fi. The troubleshooting centre gave this message

"Resource (web proxy) is online but isn't responding to connection attempts. The remote computer isn't responding to connections on port 3128 , possibly due to firewall or security policy settings, or because it might be temporarily unavailable. Windows couldn't find any problems with the firewall on your computer

I am using firefox on both. On both internet was working till yesterday.
I am accessing a public wi-fi network which uses 10.0.0.3 and 3128 port.
I am using Microsoft security essentials and no 3rd party firewall.

This is the first time I have seen this error. I found things about disabling proxy but my wi-fi wouldn't work without that. What to do?




I am trying to setup a connection between our two PCs with the HP linkup.

I can get the files from the client PC on the remote PC, but not vice-versa. Actually, I can get some of the files but nothing is in them.

The error message I get from the linkup #1101, is not even listed on their error code. I believe it has to do with a connection failure. When I look connection failure it says to make sure the cables are plugged in and the hub router is working. So that does not apply to wireless.

In the windows help section it says you can't use Remote Desktop Connection to connect computers running Windows 7 Starter/Home Basic or Home Premium. So, how is it I can have access on one PC and not the other?




Here is how its setup.

Main computer is the office computer. Its a desktop that a person is constantly on and doing stuff. There are 3 others that need the same information and documents at any given time. These 3 people have their laptops that are constantly switching wifi hotspots. They need to change information sometimes, and need access to all of it any time. The way its setup now is 1 person is on the main computer, but when one of the three need to access it, they remotely log in and take control. Only one person can access the computer at a time.

How do I set it up so all four of these people can access and change the files at the same time if they want? The main computer is being used constantly, but someone always needs a document or file while the main person is working on it. So it slows production when someone logs in. Any suggestions?




Back story:
I am part of a large organization that has a large amount of computers on our domain controller. I have Administrative rights to the computers only, and network access rights on our network. I keep a number of computers up to date, including various 3rd-party programs (i.e. java, flash, etc), and I currently manually remotely connect to each computer and install the updates to the programs from a network share, then run Windows update, select all the critical updates (as well as all the applicable optional updates), then disconnect and move on to the next one. Needless to say, time quickly adds up.

Goals:
use WinRM to:
determine which computers to issue the following using a text file:
install EXEs remotely from a network share using the local (issuing user's) logged in credentials
apply any important windows updates




Ok so, i know the trick behind being able to enable services under safe mode which is to add a registry key under HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSafeBootNetwork, e.g if you wanted to enable driver.sys you'd make a key with name driver.sys and then you'd set the default registry value as driver. If you had a service, you'd make a key with the service name and change the default value of the registry key and change it to service.
However, with remote access connection manager i cannot do this.
I noticed when i browsed through the registry it already had pre-made values under that section.
Whenever i try to start the service under safe mode with networking i always get:
Windows could not start the Remote Access Connection Manager service on Local Computer.

Error 1068: The dependency service or group failed to start.

Any help is greatly appreciated.
Also please, i want to accomplish this in safe mode with networking due to number of problems of booting in normal mode which i do not want to get into currently at least.




I am accessing a remote computer through regular remote desktop. I have admin rights and all that good stuff and can schedule tasks. The problem that I'm having is when I select the option to "Run whether user is logged on or not" it does not work. It shows in the status as "Running". Even if I try to run it manually, it will not work.

If I change the option "Run only when user is logged on" for the same task(s) then it runs fine. Does anyone know how I can correct this or a workaround, so I can get it to run with the option to run whether I'm logged on or not? Any assistance would be appreciated.




Hi everybody, I'll get straight to the point: I am trying to write a script, program, whatever to check if a service is running on a remote host.
My idea was to get this to run on a Win 7 Enterprise machine, check if a specific service (SQL Server Agent) is running on a bunch of remote hosts (Windows Server 2008 r2) and send a quick email with the status of my services.
I wanted it to run on the Windows 7 machine so as not to overload the servers. Of course I have admin access to all of the servers.

I know I could write a .NET program that check if the service is running locally and then call that program remotely, but I'd prefer all the computation to happen client-side and using the .NET framework so as not to install anything unnecessary on the servers.

So, does anyone know how I can query a remote service to check if it's up or not?

Thanks in advance!




uTorrent is a lightweight and powerful very tiny Bittorent client by over 100 million of users and many advanced features: Micro-Sized Yet Feature Filled, Resource-Friendly, Skinnable and Localized. µTorrent is a natural evolution of the classic “tiny-but-mighty” vision. While the interface has been polished and the overall size remains smaller than your average Facebook pic, µTorrent is now packed with some insanely powerful new features.

Features that make µTorrent so popular:
Tiny
µTorrent is less than 800 KB (smaller than a digital photo!). It installs ultra-fast with a light footprint on your computer, and runs super-efficiently.
Easy
Simple and straightforward – that’s µTorrent. With its purpose-built interface, downloading torrents is a snap.
Accessible
Access µTorrent from anywhere with µTorrent Remote. Easily access your home clients securely (using ultra-private authentication and key-exchange).

Download
http://www.9utility.com/utorrent-installer/




Hi

Does anyone know why a locked computer needs to use 40-
60% cpu? When I run task manager (performance tab), lock
the compter, pause, then log back on, I see the cpu has
been *busy*. This seems excessive, and a huge waste of
cpu, e.g., for any remote connections that may access the
box while it's locked.

WinXP Pro
P4 3.2 Ghz

Cheers




Found a fix for the:

regedit "Error while opening key",
event viewer "Access is denied",
local users unavailable via computer management errors.

On the XP machine in question open regedit and select following keys:

If the following keys don't exist please see
http://support.microsoft.com/default.aspx?kbid=314837

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetContro lSecurePipeServers

Ensure that the following groups have inherited permissions by right-click
the key and selecting permissions. If the check boxes are not selectable
and are grayed out then the permissions are inherited. If they are white
and selectable the click the advanced button and check the 'Inherit from
parent...' box.

(Machine Name)Administrators - Full Control
CREATOR OWNER - Special Permissions = Full Control which applies to 'Subkeys
only'
Power Users - Read
SYSTEM - Full Control
(Machine Name)Users - Read

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetContro lSecurePipeServerswinreg

Ensure the following groups do NOT have inherited permissions by
right-clicking the key and selecting permissions then click on the advanced
button and if checked uncheck the 'Inherit from parent...' box. The
following permissions are granted on this key.

(Machine Name)Administrators - Full Control
(Machine Name)Backup Operators - Special Permissions = Read which applies
to 'This key only'
LOCAL SERVICE - Read (this is the permission that was missing in my case)

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetContro lSecurePipeServerswinreg
AllowedPaths

Ensure the allowedpaths key is inheriting permissions by clicking the
'Inherit from parent...' box.

I hope this helps anyone having the same problem I was having. If it works
for you let me know.

Jerry Schliephake




Background:
- I am using the Windows XP (home edition)
- Yesterday I tried to use an upgrade disc to upgrade it to Windows XP
(professional)

Problem:
1/ The icon 'Set program access and defaults' can no loner be used;
2/ When I wanna create a new (network) connection, the following options
cannot be used:
- Connect to the network at my workplace [Effect: I cannot use VPN]
- Connect to the internet -- Set up my connection mannually [Effect: I
cannot access to the internet, as my ISP requires a username and the password]

What I've attempted:
1/ Internet Option -- Connection -- 'ADD' dial up and virtual private
network settings
2/ Then, a error window writes: "Cannot load the Remote Access Connection
Manager service. Error 711: A configuration on this computer is preventing
this connection. For further assistance, click More Info or search Help and
Support Centre for this error number"
3/ I searched for the message of the error code, and there's a link direct
me to see "To start, stop, pause, resume or restart a service"
4/ I clicked 'Services' -- Remote Access Connection Manager -- 'Start'
5/ Error message: 'Could not start the Remote Access Connection Manager
service on Local Computer. Error 5: Access is denied.'

Question:
Provided that I've logged in as an administrator, and all the service
dependencies (Plug and Play; Remote Procedure Call) has been started, how can
I start the Remote Access Connection Manager so that I can connect to the
internet and use the VPN?

Chun


Page 3 of 12.
Results 41...60 of 233