SMB/Windows

= Windows 7 =
 * Windows 7 (x64) users : You must uninstall Windows Live Sign-in Assistant for sharing to work. Reasons are unclear as why you need to do that.

As has been documented elsewhere, XBMC's scrapers and library work best when full access to video and audio files is provided to them via an SMB share. However, Microsoft is making it more and more difficult to share using SMB in Windows. You have to turn off Homegroup and do all sorts of other messy things. The following is a guide to quickly and easily turn SMB sharing on in Windows 7.

Preparation
As a initial step, you should be connected to your network. I, personally, am connected using a LAN cable and have been provided an IP address by my router using DHCP. If you prefer to use Static IP, there should be no real problem. If you can see the internet, you should be connected enough to the router for our purposes. Also, when you are first connecting your Windows 7 computer to your network, it will ask if you are connecting to Home, Work, or a Public network. This guide presumes that you selected Home. The same steps should work if you selected Work. They will almost certainly not work if you selected Public. Also, sometimes you will be asked to be certain if you want to do something or you will be asked to go up a level in clearance to do something. This guide presumes that you agree to all of that.

Conclusion
Now you can add your sources in XBMC without difficulty, but the guide to XBMC sources and scraping is in the Wiki and doesn't need to be repeated here.

= Older versions of Windows =

Configuring Windows File Sharing With Open Access (Simple File Sharing)

 * Right click the Drive or Folder you wish to share. Choose “Sharing and Security” from the drop down menu. If you are sharing the root of a drive, Windows will warn you about sharing a whole drive. Click “I understand the risk...” If you aren't sharing the whole drive, the warning will not appear.


 * There may be a link saying “If you understand the security risks...” in the lower portion of the window. Click it to get the sharing options.


 * If the option to set the folder to shared is greyed out, and the option to make this folder private is checked, you need to uncheck it. If it's greyed out too you need to find which parent folder it's checked on. If the folder you want to share is on your desktop, it's probably /Documents and Settings/(Your username) that's been made private. It's normally on the same drive as your Windows installation.


 * The first time you set up sharing, Windows will ask you if you want to use a wizard. The wizard will enable the Windows firewall to prevent internet users from accessing your files. If you have SP2 it's probably enabled already. Note:The Windows firewall can stop filesharing from working. After you have chosen whether or not to run the wizard you must choose a name for your share. This is the name that will be visible on the network.


 * If you want other computers to be only be able to read your files uncheck “Allow network users to change my files.”


 * Alternatively you can create hidden shares. Hidden shares are created when you add the $ to the end of the share name. (ie. share becomes share$) A hidden share will not show up in the list. You must already know the name of the share to access it. (in windows: "\\COMPUTER_NAME\share$") Details on accessing hidden shares below.


 * Click OK. That's it, you should be done. If you have a lot of files and folders inside the folder you shared, you might get a progress box while windows changes the permissions of the files inside that folder.


 * Make sure your XBMC device is on the same network(ie connected to the same router). If you have any trouble, double check that all software firewalls are off, including the Windows Firewall. If you still have problems often times restarting your computer can fix it.

Configuring Windows File Sharing With Secured Access

 * The first step is to create a user on your computer called XBMC. This can be done by navigating to Start->Control Panel->User Accounts, select Create a new account and give it the following settings:


 * Name: XBMC
 * Password: XBMC
 * Account Type: Limited Access (not an administrator)


 * This account will be used for file sharing purposes only. If you want to hide this user from the Welcome Screen, see this link.


 * Now we need to pick a few folders to share. On my computer I have two shared folders... One is C:\SHARED\ and the second is C:\Music\. Inside my SHARED folder I have 3 subfolders called Music, Pictures, and TV Shows. I recommend using a directory right on the C:\ drive to make things simple (unless its something you don't want others to find).


 * The next step is to set up sharing privileges for these folders. To do this, right-click the folder you want to share (i.e. C:\SHARED\) and chose Sharing and Security.... Next click on the Permissions button. If you do not see a Permissions button, then you need to disable Simple File Sharing (see the next step).

To Disable Simple File Sharing

 * In any explorer window, click on Tools->Folder Options.... Select the View tab and in the Advanced Settings pane scroll to the bottom of the list and uncheck Use Simple File Sharing (Recommended).


 * Now select “Share this folder” and give it a name. You should probably just call it whatever the folders name is (i.e. I called mine SHARED). Just avoid calling it PORN or ILLEGAL STUFF because anyone browsing your network will see the folder names (they just won't be able to see anything inside of them). The user limit should be set to Maximum Allowed.


 * Next, click on the Permissions button and click Add.... Now click Advanced... and hit the Find Now... button. This will find all of the users and user groups on your computer. There will probably be a bunch of users you have never seen before – those are for things like Remote Assistance and other Windows related stuff so don't worry about them. What we want to do is give our XBMC user permission to view this folder over the network.


 * To do this, find XBMC in the list and click OK. It should appear in the list as YOUR-COMPUTER-NAME\XBMC. Click OK and you should be back at the Share Permissions window with XBMC (YOUR-COMPUTER-NAME\XBMC) selected from the list. We want to give this user Read Only access, so make sure that only Read is checked under the allow column. If you want to be able to delete files on your computer from XBMC Media Center, you can give them full control, but I would not recommend this because you never know who's going to start deleting stuff (little siblings, drunk friends, etc...). Before we forget, go ahead and remove the “Everyone” users group from the list.


 * Save it and repeat for the rest of the folders you want to share.


 * Ok... so now you should have one or more folders shared. If you want to test it, go to another computer on your LAN, and you should be able navigate to your computer in “My Network Places” and find your computer in Entire Network -> Microsoft Windows Network -> WORKGROUP, and log in as XBMC/XBMC and see your shares. It might not let you access the network due to some screwy stuff Windows does, so if it doesn't work don't worry about it.


 * Now lets create the source on your XBMC Media Center device...


 * Go to your XBMC device and choose the folder type you shared (ie go into “My videos” if you want to add your computer's videos folder). Then navigate to Add Source. Select Browse, chose Add Network Location... and use the following settings...


 * Protocol: Windows Network (SMB)
 * Server Name: (click browse and find it). If you can't find it, then see the troubleshooting part below.
 * Server Folder: (should be filled in when you clicked browse)
 * Username: XBMC
 * Password: XBMC


 * Then click OK. This is just your XBMC device's source name, so if you have shared folders from several different machines you might want to call it Videos (Bob's Computer).


 * If you are having trouble finding your computer, you can just type your computers name into the Server Name field. Your computer's name can be found by right-clicking on My Computer, and navigating to the Computer Name tab and its next to Full Computer Name. You will also need to enter the Server folder, which is the name you gave to the shared folder (i.e. SHARED/), or it can be a path (ie SHARED/Movies/).


 * If it still doesn't work, you can give your computer a static IP address and enter the static IP address in the Server Name field.


 * You're done! I have this set up to share my music as well so that iTunes doesn't have to be running. And obviously, your computer needs to be on in order for you to stream movies onto your XBMC device from it.

How to Configure Hidden Shares

 * To create a hidden share. Add $ to the end of the share's name. You must know the name of the hidden share to gain access to it.


 * For each list (Files, My Videos, etc.) you will have to add a source for your hidden share(s). You can add a source directly to your xbmc.xml file or you can use the XBMC interface. If you add it to the file manually, you can add it to all appropriate sections of XBMC at once. There is a section for each list. More info on Media Sources


 * Example:


 * The following information is more or less a duplicate from Media Sources.


 * If you choose to add it through the interface, first you need to open the section you want to add the source to. (Videos, Music, Etc.). For this example I will use Videos, but they are all basically the same.


 * First open Videos, then make sure the highlight is on one of the existing sources.
 * Press the white button on the controller to open the menu.
 * Select Add Source from the menu.


 * If you would rather not type it manually continue reading.
 * Choose Browse on the dialog.


 * Scroll to the bottom, this can likely be accomplished by pushing up once.
 * Select Add Network Location...


 * Press the Browse button, it should be to the right of the Server Name box. Open smb://.
 * Now find your computer's name, but don't push A yet.


 * If you can't find it, go back and type it in manually in the Server Name box. (smb://COMPUTER_NAME/)
 * Once you find your computer's name, move to the right and highlight OK then push A.


 * Verify that the Server Name box has smb://YOUR_COMPUTER_NAME/
 * Now move down to the Shared Folder box, push A to edit it.
 * Type the name of your shared folder, and don't forget to include the $.
 * Move down and highlight OK


 * You should be back at the list you were in earlier where you picked Add Network Location...
 * Choose the share you just created from the list, move to the right, select OK and push A.


 * Enter a name for your new source at the bottom (PM3-default) or the top (MC360) of the dialog.
 * Now move to the bottom and select OK once more.


 * If you add the same source to some of the other lists you shouldn't need to add a network location again, it should be waiting in there for you already.


 * That's it, you should be good to go. Enjoy.

= Further reading =
 * http://www.admin-magazine.com/Articles/Linux-with-Windows-8 - some notes about SMB sharing with Windows 8