<commit_before># Building Micro-Manager Components and Device Adapters

## Note
These notes apply to Micro-Manager (MM) version 2.0 and Windows Server R2012.
They are not guaranteed to work for other versions of Micro-Manager or other
operating systems.

Most of these notes were taken while writing a minimum device adapter and
reading the
[MM device adapter programming guide](https://micro-manager.org/wiki/Building_Micro-Manager_Device_Adapters).

# Building MM 2.0 on Windows

## Which VS, .NET, and Windows version should I use?
- Visual Studio 2010 (what MM i currently built with) is horribly outdated and has been impossible for me to find. For this reason, I use newer versions of VS.
- Pick the version of Visual Studio and .NET that corresponds to your Windows environment. https://en.wikipedia.org/wiki/.NET_Framework#Release_history

## Microsoft Visual Studio 2015

- I sometimes encounter security exceptions when attempting to sign in to use
  the VS 2015. When I see these, I add the site as a trusted site by going to
  **Start > Control Panel > Internet Options**, clicking the **Security** tab,
  and clicking the **Trusted Sites** picture, and then clicking the **Sites**
  button. Then I add the website that was listed in the exception to the list.
- To enable the properties manager for importing property sheets, you need to
  navigate to **Tools > Import and Export Settings...**. In this window, select
  **Import selected environment settings**, then click **Next.** There is no
  need to save the current settings in the next window, so select **No, just
  import new settings, overwriting my current settings** and click **Next**.<commit_msg>Update micro-manager_windows_build.md<commit_after># Building Micro-Manager Components and Device Adapters

## Note
These notes apply to Micro-Manager (MM) version 2.0 and Windows Server R2012.
They are not guaranteed to work for other versions of Micro-Manager or other
operating systems.

Most of these notes were taken while writing a minimum device adapter and
reading the
[MM device adapter programming guide](https://micro-manager.org/wiki/Building_Micro-Manager_Device_Adapters).

# Building MM 2.0 on Windows

## Which Visual Studio, .NET, and SDK and Windows version should I use?
- Visual Studio 2010 (what MM i currently built with) is horribly outdated and has been impossible for me to find. For this reason, I use newer versions of VS.
- Pick the version of Visual Studio and .NET that corresponds to your Windows environment. https://en.wikipedia.org/wiki/.NET_Framework#Release_history

## Installation Order
From a clean system without anything installed (including .NET), the order from first-to-last should be:
- Windows SDK *and* .NET (they sometimes come bundled)
- Visual C++ (a.k.a. Visual Studio for newer versions)
- Any service packs for your version of Visual Studio
- If you can't load the Micro-Manager .sln file or update it to your version of Visual Studio, try installing the repairs to the Visual C++ 2010 compilers: https://www.microsoft.com/en-us/download/details.aspx?id=4422

## Microsoft Visual Studio 2015
- I sometimes encounter security exceptions when attempting to sign in to use
  the VS 2015. When I see these, I add the site as a trusted site by going to
  **Start > Control Panel > Internet Options**, clicking the **Security** tab,
  and clicking the **Trusted Sites** picture, and then clicking the **Sites**
  button. Then I add the website that was listed in the exception to the list.
- To enable the properties manager for importing property sheets, you need to
  navigate to **Tools > Import and Export Settings...**. In this window, select
  **Import selected environment settings**, then click **Next.** There is no
  need to save the current settings in the next window, so select **No, just
  import new settings, overwriting my current settings** and click **Next**.
{'fraction_non_alphanumeric': 0.07080554130323242, 'fraction_numerical': 0.012314007183170857, 'mean_word_length': 4.370523415977962, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 5, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2746763', 'n_tokens_mistral': 1015, 'n_tokens_neox': 939, 'n_words': 551}