## Wednesday, May 10, 2017

### Microgreens Experiment

As part of my "lose it to gain it" plan I'm working on, I need to eat more vegetables (not that I don't eat a lot anyway - I'd gladly become a vegetarian if meat wasn't so god-damned tasty) and more importantly, more vegetables that offer a high nutritional content.  So, microgreens!

What are microgreens?  Sprouts.  Basically.  Well, kinda.  Microgreens includes the salad greens and leafy vegetables as well as herbs and edible flowers.  And sprouts.  Microgreens includes a variety of edible, yet immature greens harvested up to a month after planting.  You eat not only the first proper set of leaves, but also the stems and even the seed leaves (cotyledons).

So, basically, I want to grow these in a quantity and format that there is enough to eat every day in various forms.

Day 1
So, to do this I went to a garden shop (in this case, just to Bunnings as they were open at 5:45pm one evening) and bought some seeds (shown below) as well as some 5L plastic containers.  I then decided to use the 5L containers to store stuff in - such as the unused seeds and potting mix - and use takeaway food containers (of which I have a half dozen or so - Fred's chicken necks come in these) instead.

As I had some left over potting mix downstairs, I wet that with water from the fish tank, put about 2cm in the bottom of each food container then sprinkled the seeds I wanted on top of this potting mix.  Some places suggest soaking the seeds overnight - I didn't do this but if there is a less than stellar result from this first attempt, may try that.

I then covered the seeds with a thin layer of dry potting mix and put the covers on the container to keep the moisture in.

I then placed the containers on the verandah where they get a reasonable amount of afternoon sun (except on a day like today when it is heavily overcast and rainy).  You can also see the sweet basil and coriander (cilantro) growing in pots - Pete and Linda kindly donated these to my collection. :)  For those people who hate coriander, you're wrong! :)

I will spray these containers each day with a spray bottle filled with pre-pooed-in fish tank water (fish poo, not Outspoken Wookie poo - that would be gross).  In a few days I should see the seeds starting to germinate and then a week or two after that I should have a decent crop.  We'll see...  I'll then work out how long they take to grow and what sort of harvest I get and work out how many more containers I will need in a rotation and how often I will need to set a rotation off.  :)

Update: Day 6

I've left the containers inside until around lunch time today.  They seeds have germinated quite nicely and I'll now leave the lids off and leave them all on the verandah during the day and bring them into the kitchen at night so they can receive early morning sun.  Looking good so far! :)  The basil and coriander are also coming along nicely.

Update: Day 7

I thought I'd take a closer photo this time - they seem to be doing well - the "D" container did have fewer seeds in it to begin with and the result shows that. They are all looking quite decent and I'll leave them another few days and see how they look before I start sampling them. :)

Update: Day 10

OK, so I think I could call this a success.  The "D" packet (Kale, Cabbage Red and Pea Morgan) may need a little more loving, else I will drop it and try something else later.  Maybe I didn't sprinkle enough seeds?  Aside from that, the rest look good - especially the "B" packet - the Hot & Spicy Mix of Radish, Radish Red Arrow, Kale Red Russian and Broccoli.  Now, how did this experiment know that this is the one of the four I was most interested in?  :)  I'd like the Alfalfa to be a little heavier next time, too.    But all up, I'll call this a successful first attempt with a little tweaking needed to get it to a regular production level for myself. :)

I will add another update or two here and then see how long it takes me to eat through this lot.  I'll start another batch probably on Monday next week (it is Friday now).  This will let me see how many sets I need to have in a rotation to keep this all at a satisfactory level.

Regards,

The Outspoken Wookie

## Tuesday, November 08, 2016

### Bootable Windows Server 2016 UEFI ISO

This is an update of my http://hiltont.blogspot.com.au/2013/09/bootable-windows-server-2012-iso.html post.

Back in the Windows F^HVista/7 and Server 2008/2008R2 days, it was possible to install an operating system instance without needing to input a key during the installation process.  You could use various methods to make a bootable OS Install USB key then simply remove the \sources\ei.cfg file and you'd be able to choose between all the versions of the OS inside the boot.wim file - this was very handy!

Microsoft has made a change since Windows Server 2012/Windows 8 whereby they don't allow you to install Windows without the use of a Product Key.  There is no ei.cfg file in the \sources folder and you are forced to input a Product Key during installation.

Well, there's a simple way to work around this to not only create a bootable USB Key that doesn't need a Product Key during install (and lets you choose among the multiple OS variants in the boot.wim file), but also to re-create a bootable ISO image so that you can then mount this as an installation media source in Hyper-V!

The steps to achieve these goals are:
• First, you'll need to download a Windows Server 2012, 2012R2 or 2016 ISO image or use the VL ISO image you already have there.  Then you'll need to either extract this image to a folder, or better still, just run the (portable) Rufus application to make yourself a bootable USB key that allows for quite quick OS installs.
• Now, you'll need to copy the following into a new plain text file called ei.cfg in the \sources folder of the USB key:
[Channel]
Retail
[VL]
1
• If you only need the bootable USB key, you can stop here, however if you now wish to recreate the ISO image file so that you can then use this modified image in a Hyper-V environment...
• Download and install the latest Windows Assessment and Deployment Kit (ADK) (the latest at time of writing this post was for Windows 10 Build 1607).  The installer itself is around 1.7MB and the only component you need to install for this process is Deployment Tools, which is around 68MB
• Now, to create an ISO image that will work with BIOS-based systems, assuming the USB Key we just made is available at U: and you're creating the ISO image on D:
• Run the Deployment and Imaging Tools Environment (Command Prompt) as Administrator, change to the "amd64\oscdimg" folder and then type the following:
• oscdimg.exe –l<disc_label> -m -u2 –b<path_of_bootable_img_file> <path_of_installation_source> <path_where_ISO_is_to_be_created>
• Please see this link for an explanation of the oscdimg.exe command-line options
• Example:
oscdimg.exe -lSVR2016BIOS -m -u2 -b"U:\boot\etfsboot.com" "U:\" "D:\Svr2016BIOS.iso"
• If you wish to create an ISO image that will work on both BIOS-based and UEFI-based systems such as a Hyper-V 2012 R2 and 2016 Gen 2 guest instance, assuming the USB Key we just made is available at U: and you're creating the ISO image on D: (this uses a modified version of the instructions found here):
• Run the Deployment and Imaging Tools Environment (Command Prompt) as Administrator, change to the "amd64\oscdimg" folder and then type the following:
• oscdimg -l2016UEFI -m -o -u2 -udfver102 -bootdata:2#p0,e,b"U:\boot\etfsboot.com"#pEF,e,b"U:\efi\microsoft\boot\efisys.bin" "U:\" "D:\2016-ei-UEFI.iso"
• Now, you can burn this ISO image to a DVD or simply use it as the source for a Hyper-V guest and because it contains both the BIOS and UEFI boot data, it can be used to install either a Gen 1 (BIOS) or Gen 2 (UEFI) Hyper-V Guest. :)

Enjoy!

Regards,

The Outspoken Wookie

## Thursday, October 06, 2016

A number of times I have seen network stack corruption on a Windows desktop and when trying to reset the stack, an "access denied" error message is given and the stack reset fails.

Here's how to fix this.

1. Run RegEdit and provide approval/authentication at the UAC prompt.
2. Navigate to HKLM\SYSTEM\CurrentControlSet\Control\NSI\{eb004a00-9b1a-11d4-9123-0050047759bc}\26
3. Right click on the "26" key and choose "Permissions"
4. Click on "Everyone" and then "Full Control" under "Allow", Apply, OK and exit from RegEdit
5. In an elevated command prompt, type "netsh int ip reset"
6. Check that all steps reset successfully
7. Reboot and all will be good with the world(1)

(1) Well, with this teensy little part of it at least...

Regards,

The Outspoken Wookie

## Friday, April 22, 2016

### Microsoft Action Pack Subscription Promo Codes

Does anyone need to renew their MAPS (Microsoft Action Pack Subscription)? If so, when you go to pay, use the Promo Code "WELCOME2ACTIONPACK" for a 50% discount and then once you have entered this one, enter "GROWYOURBIZWITHMAPS" for a further 50% discount - that brought it from $490 ex tax down to$134.20 inc tax! :)

Regards,

The Outspoken Wookie

## Thursday, March 03, 2016

### Mar 2016 Update to .NET Redistributables

I have just updated my http://hiltont.blogspot.com.au/2008/01/net-redistributables.html post with links to the latest redistributables for dotNET 4.6 and 4.6.1.  :)

Regards,

The Outspoken Wookie

## Thursday, August 20, 2015

### Accessing O365 Shared Mailboxes With Android

Microsoft's official position is that you cannot access Shared Mailboxes in an Office 365 tenancy from an Android device.  Here's how to do it by configuring a new IMAP account with the following settings:

Incoming Settings
4. IMAP Server = outlook.office365.com
5. Security Type = SSL
6. Port = 993
7. IMAP path prefix = Optional

Outgoing Settings
1. SMTP Server = smtp.office365.com
2. Security Type = TLS
3. Port = 587

You should be able to have this work also on iOS and Android (and maybe even Mac OSX) devices by setting an account up in a similar fashion.

Regards,

The Outspoken Wookie

## Wednesday, January 14, 2015

### Windows 7 Reaches Its First EOL Step

Windows 7, the operating system that Microsoft simply can't kill off, has reached the first major step in its End Of Life cycle - the end of mainstream support was yesterday (13 Jan, 2015).  As can be seen on Microsoft's Product Support Lifecycle page for Windows 7, this date has now been reached and we're now in the Extended Support phase.  This is just like when Voyager 1 passed out of our Solar System in August 2012 and into interstellar space.

What this means is that the product will now only receive security updates - no non-security updates will be made available for Windows 7 based products (unless you have a Premier Support Agreement for Windows 7 Enterprise, which I can guarantee no small business has).  This is not a nail in the coffin of Windows 7, but it does mean that the product is entering its final years of functionality.  Paid support is still available for Windows 7 on a per-incident basis.

On the 14th of January, 2020 we'll have another milestone - the last day of extended (security update) support.  That will be the last nail in the coffin of Windows 7 - this is what happened to Windows XP back on 8th April, 2014.

So, right now there's nothing to worry about if you're still running Windows 7 on your computers - currently computer manufacturers are still allowed to supply computers with Windows 7 pre-installed if the manufacturer still has old stock of Windows 7 licenses.  But with Windows 8 and also Windows 8.1 already out and Windows 10 on the horizon, it may be time to think about the steps needed to move up to the current/next version of Windows.

Regards,

The Outspoken Wookie

### Outright theft and plagiarism

It was brought to my attention yesterday that the author (sic) Pomiraja from the http://www.AskMeBoy.com site was plagiarising my blog posts.  I'd like to thank the anonymous person who brought this to my attention.

AskMeBoy have so far, through Pomiraja's plagiarism, republished 26 of my blog posts (as of right now) as Pomiraja's own work without giving any credit to me.  To see exactly how stupid this plagiarist is, they have even left my signature on all of the posts they have stolen!

If you would like to see a list of the plagiarised posts, have a look at https://askmeboy.com/?s=outspoken+wookie or the screen captures I took below - as I said, there are 26 at this point in time.  I don't know if this will encourage the owners of the website to axe Pomiraja for this plagiarism, axe the stolen and mis-credited posts, or have the site publish a written apology.  Their contact page is broken so I could not contact them directly about this, forcing me to make this public complaint about their plagiarism.

Regards,

The Outspoken Wookie

## Sunday, December 07, 2014

### Does A 6Gbps SATA Interface Actually Matter

As we've been told all our lives, bigger is better.  But as we also know, what we've always been told isn't necessarily right any more (and often wasn't ever right).  So, with that in mind, I present the 6Gbps SATA Interface!

First, for those who get confused by the nomenclature and numbering used in computing, a Byte (B) is a collection of 8 bits (b), a Kilobyte (KB) is 1,000 Bytes, a Megabyte (MB) is 1,000,000 Bytes (or 1,000 KB) and a Gigabyte (GB) is 1,000,000,000 Bytes (or 1,000 MB or 1 million KB).(1)

So, with that information at hand, we can do a few calculations to see what 6Gbps really means.  An added complication is the way that the data is encoded across the SATA interface using something called 8b/10b Encoding (and here's a link for the nerdy types) which results in a slight loss in data throughput across the SATA.  The end result of this data encoding means that a SATA 1.5Gbps (187.50MB/s) interface will deliver a total of 1.2Gbps (150MBps) of data.

 SATA Revision Interface Speed Gbps Interface Speed MBps Data Throughput Gbps Data Throughput MBps 1.0 1.5Gbps 187.5MBps 1.2Gbps 150MBps 2.0 3.0Gbps 375.0MBps 2.4 Gbps 300MBps 3.0 6.0Gbps 750.0MBps 4.8Gbps 600MBps 3.1 6.0Gbps 750.0MBps 4.8Gbps 600MBps 3.2 16.0Gbps 2000.0MBps 12.8Gbps 1600MBps

Right, now that we know the actual maximum data throughput of a bunch of different SATA standards, what we need to do is to look for drives that we can attach to these SATA interfaces and see how fast they can go compares to the data throughput speed of the SATA interfaces.

 Drive Manuf Drive Model Drive Capacity Max/Sustained Read MBps Seagate Desktop SSHD ST4000DX001 4TB 146MBps (from all zones) Seagate Desktop SSHD ST4000DX001 4TB 190MBps (from NAND) Seagate Desktop NAS HDD ST4000VN000 4TB 180MBps Seagate Laptop SSHD ST1000LM014 1TB 100MBps Samsung SSD Pro 840 MZ-7PD512 500GB 540/520MBps (Read/Write) Samsung SSD 840 Evo MZ-7TE1T0 1TB 540/520MBps (Read/Write) Samsung XP941 Gen 2 X4 M.2 SSD 512GB 1170/950MBps (Read/Write) Plextor M6E Gen 2 X2 M.2 SSD 512GB 705/638MBps (Read/Write)

As you can quite clearly see, all of the regular Hard Drives (and even the Hybrid SSD/HDDs) are pretty much around the same maximum or sustained transfer rate of somewhere under 200Mbps, which means that plugging one into anything faster than a SATA 3.0Gbps controller will give no performance improvement whatsoever.

This changes when we start to look at SSDs.  The regular Samsung SSDs will deliver up to 540MBps of read performance which is well in excess of the throughput of a 3.0Gbps SATA interface - to get the full performance from any modern SSD you will need to have a SATA 3.0 (6.0Gbps) to connect it to.  This goes for many current SSDs that all deliver up to around 550MBps from Samsung, Intel, Crucial, Transcend and others.

Things, however, start to really get interesting when we look at the newer M.2 (SATA Rev 3.2) devices.  These can deliver data across an older SATA 3.0 interface, or a PCIEx2 or PCIEx4 interface, depending on the configuration of the drive (and socket).  Currently, the Asrock Z97 Extreme6 is the only motherboard to support the X4 transfer rates, however more boards are sure to hit the market soon.  The Plextor M6E drive delivers just under 50% faster transfers using its PCIEx2 interface than can be achieved using the SATA specification, and impressively the Samsung XP941 512GB M.2 drive on an Asrock Z97 Extreme6 delivers over 1GBps in read performance!

So, basically, if you have any form of spinning metal disk, be it a hybrid or not, there's no need to upgrade to a 6Gbps SATA controller, though if you have one on your motherboard, it won't hurt to use it.  If, however, you have one of the current fast crop of SSD drives, then you will need to connect this to a 6Gbps SATA port to realise the full speed of the device.

If speed is your bag, baby, then a 6Gbps SATA port is not enough and you'll need to look at the newer M.2 X4 devices on a controller that will allow it to run at full speed and right now, the only onboard controller that will handle this is on the Asrock Z97 Extreme6 motherboard.  Plug in adapters that will support this spec include the BPlus M2P4S and the PEX16X-LTSSD-ADP adapter.  There may be others out there and Google may well help locate them! :)

Regards,

The Outspoken Wookie

## Wednesday, December 03, 2014

### BEASTly POODLEs

There have been a number of vulnerabilities detected in various security protocols over the past year or two including BEAST Attack, Heartbleed Bug and POODLE Attack.  At least 2/3 of these have names that give some indication of their severity and the remaining 1/3 leaves you with a rather interesting visual image.  But be ye not distracted by the names - they are all things that need to be addressed in various ways.

Information about the Browser Exploit Against SSL/TLS (BEAST) Attack was released in September 2011 and involved attacking the lack of security in particular implementations of TLS 1.0 traffic.  This vulnerability has been pretty much mitigated today (Dec, 2014), however there are still some older, non-updated systems out there that are vulnerable to this attack.  The table below lists the earliest version of the products that have mitigated the BEAST Attack (and yes, Apple took an inordinately long time to patch for this vulnerability):

 Apple iOS iOS 7.0 Apple OS-X OS-X 10.9 (Mavericks) Google Chrome Version 16 Microsoft Windows MS12-006 on Windows 7/Server 2008 R2 and older Mozilla Firefox Version 10

Following on from the BEAST Attack were the CRIME and BREACH attacks which, too, have been mitigated in current browsers and are a low-grade threat at worst these days.

The Heartbleed bug, publicly announced in April, 2014, affected anything running OpenSSL.  The Heartbleed bug allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. This compromises the secret keys used to identify the service providers and to encrypt the traffic, the names and passwords of the users and the actual content. This allows attackers to eavesdrop on communications, steal data directly from the services and users and to impersonate services and users.  Yup, it is pretty nasty but this, too, is pretty much completely mitigated by the various vendors using this code.

For an easy to understand explanation of the Heartbleed bug, have a read of this XKCD comic.  To see if your website is affected by the Heartbleed bug, have a look at https://lastpass.com/heartbleed/ (Heartbleed bug only) and https://www.ssllabs.com/ssltest/index.html (Heartbleed and more).  Any site that you go to that uses the "https" protocol can be checked to ensure it is running a version of OpenSSL that is not vulnerable to this attack.  If the site *still* has not been updated, I'd suggest speaking with the vendor, outing them in social media and removing your account and changing any passwords and/or information that was stored in that site.

And now we come to what at first glance may be the fluffiest of all these vulnerabilities - the POODLE Attack.  Basically, there's the ability in browsers to request a lower level of security from the server if the browser doesn't support the version the server prefers.  This is called a security renegotation.  The POODLE Attack uses a recently discovered flaw in the now obsoleted and in the process of fast becoming deprecated SSL 3.0 protocol mixed with a renegotiation attack (forcing the server to drop from TLS 1.x to SSL 3.0).  The simple fix is to disable SSL 3.0 on all your web servers, however there are still some applications that use SSL 3.0 (again, speak with the vendor, expose in social media and seriously question your continued trusting of a vendor using 18 year old technology that's been superseded 3 times).

To read more on the POODLE Attack and how to ensure you're doing everything you can to protect against it, have a read of https://scotthelme.co.uk/sslv3-goes-to-the-dogs-poodle-kills-off-protocol/ and then go to https://www.poodlescan.com/ and https://www.ssllabs.com/ssltest/index.html to confirm your server mitigations have been invoked.  There's also a funky little tool from Nartac Software called IISCrypto that can help you properly configure your Windows IIS to mitigate against POODLE and other vulnerabilities.

The table below lists the earliest version of the products that have mitigated the POODLE Attack:

 Apple iOS iOS 8.1 Apple OS-X OS-X Security Update 2014-005 (Mavericks & Mountain Lion) Google Android Chrome - still waiting Google Android Samsung Browser - still waiting Google Chrome Version 39 Microsoft Windows Temporary Fix it released, also shows Group Policy fix Mozilla Firefox Version 34

If you want to see if your client (browser) is susceptible to the POODLE Attack, go to https://www.poodletest.com/.  If your browser is vulnerable, don't trust it to keep your data secure.

Regards,

The Outspoken Wookie

## Monday, November 10, 2014

### Azure Needs To Be Introduced To 2012

I'd *REALLY* like to know how, if Microsoft is pumping so much time and energy into Azure, it cannot handle the VHDX format, let alone Generation 2 Virtual Machines from Hyper-V 2012?  I mean, we're now in 2014 and have the Windows Server 10 Technical Preview available to us and Microsoft still can't handle .VHDX files in their Azure virtual machines!

This is slack.  Really slack.  It means that even though we who use on-premises Hyper-V Servers can use the current Microsoft technologies for all of our current-release guests, we cannot do it using their Azure platform.  It means that we cannot even upload our virtual machines nor use SCVMM and replicate our Gen 2 VMs into Azure.

Come on Microsoft - bring the Azure infrastructure up to your current generation before you get severely left behind yourself! :(

Regards,

The Outspoken Wookie

## Wednesday, November 05, 2014

### Medical Woo-Woo Shits Me

Anyone who knows me knows that I'm not a fan of medical woo-woo.  So, to help people understand what these quasi-medical woo-woo terms mean, here's a Patient's Guide to Magical Medicine.

And in case someone is looking for the other common term for these practices, it is "SCAM" as in Supplements, Complementary and Alternative Medicine.

Regards,

The Outspoken Wookie

## Tuesday, October 07, 2014

### Windows 8.x Wireless Networking Issues

One of the more useful features of Windows 7 that has been completely removed from Windows 8.x for no apparently decent reason is the "Manage Wireless Networks" Control Panel applet.  It provided you with a wealth of knowledge and gave you the ability to, as its name suggests, manage wireless networks.

So, with the demise of this useful feature, along came the Kerkia group with their WinFi application to return the functionality of this tool in a nice, usable interface.  It allows you to re-order, delete, import and export network profiles and it also allows you to change a network profile between Current User and All Users.  All User profiles will connect before any user has logged in to the computer.

In addition to this, there are some "netsh" commands you may well find useful if you like doing things via the command-line:

Showing Wireless Profiles

netsh wlan show profile

- output will be something like:

Profiles on interface Wi-Fi:

---------------------------------
None
User profiles
-------------
All User Profile : SSID1
All User Profile : SSID2
Current User Profile : SSID3

Deleting Wireless Profiles

netsh wlan delete profile SSID2

- output will be something like:

Profile "SSID2" is deleted from interface "Wi-Fi".

Exporting Wireless Profiles

To back up all Wireless Profiles
netsh wlan export profile folder="%UserProfile%\Desktop"

To back up all Wireless Profiles on a particular interface
netsh wlan export profile interface="interface name" folder="%UserProfile%\Desktop"

To back up a specific Wireless Profile on all interfaces
netsh wlan export profile "profile name" folder="%UserProfile%\Desktop"

To back up a specific Wireless Profile on a specific interface
netsh wlan export profile "profile name" interface="interface name"
folder="%UserProfile%\Desktop"

Note:
• Substitute profile name (SSID) in the command with the actual SSID network profile name that you want to export as a backup.
• Substitute interface name in the command with the actual name of the interface that the wireless network is on that you want to export as a backup.
• If you want to back up the Wireless Key (password), add "key=clear" after the profile "profile name" section in each of the above commands (needs administrator rights)
For example:
netsh wlan export profile "SSID1" interface="Wi-Fi" folder="%UserProfile%\Desktop"

Exporting Wireless Profiles

To restore a Wireless Profile for the Current User only
netsh wlan add profile filename="\path\to\file.xml" user=current

To restore a Wireless Profile for All Users
netsh wlan add profile filename="\path\to\file.xml" user=all

Regards,

The Outspoken Wookie

## Thursday, September 11, 2014

### Microsoft's Broken Store Upgrade to 8.1

After spending well over 8 hours trying to work through this issue, including a reasonable amount of Google searching, it seems to me that Microsoft has royally fucked up the Microsoft Store Windows 8.1 Upgrade for Windows 8.0 users.  And now, I'll explain it in a little more depth...

For anyone who needs/wants to reinstall their Windows 8 (RTM), then activate with their license key, then install the updates needed (KB2871389 and KB2917499) to get the Windows 8.1 upgrade from the Microsoft Store and upgrade to Windows 8.1, you're in for a bit of a shock if you need to run applications that need the .NET Framework 3.5 (or 3.0 or 2.0) Feature that's normally installable via either the Control Panel or a particular invocation of the DISM command.

If you try and install via Windows Update, you'll be presented with the following error message:

Windows couldn't connect to the Internet to download necessary files. Error code: 0x800F0906 (which, of course, is bullshit if you've got a functional Internet connection - this is an erroneous error message)

If instead you try the DISM way, you'll see either the above error code or the following:

•0x800F081F: The changes could not be completed.

The reason for this, it seems, is because downloading the Windows 8.1 Upgrade from the Microsoft Store gives you the latest slipstreamed install of Windows 8.1 with almost all current Updates and HotFixes. Normally that would be great as it means that you don't need to bother performing a boatload of updates after installing the Windows 8.1 Upgrade, except that it seems that Microsoft has chosen to include in the slipstreamed Upgrade, HotFixes KB2966826 and KB2966828 (see: http://answers.microsoft.com/en-us/windows/forum/windows8_1-winapps/cant-enable-or-install-net-framework-35-in-windows/2f221b25-8d17-421f-8c37-1fed61649b4f) which are .NET 3.5 updates, meaning that until you uninstall these (which you cannot do if you've installed the 8.1 Upgrade from the Microsoft Store) you are what's known in the trade as SOL if you want to install .NET 3.5 (including 3.0 and 2.0) in a newly installed Win 8.0/8.1 from the Store.

As mentioned in that answers.microsoft.com thread, if these have been installed as part of the regular Microsoft Update regime before .NET 3.5 is even installed, it is a simple enough task to uninstall them, install .NET 3.5 and then reinstall these updates.  This is not the case with the slipstreamed Windows 8.1 Upgrade from the Microsoft Store as these updates seem to have been slipstreamed into the installer, meaning that they don't show as updates that can be uninstalled, therefore they can't be uninstalled, therefore you CANNOT install .NET 3.5 on this system - that leaves a lot of software that won't install nor run properly.

Out of interest, this thread also details issues with these updates - so it isn't just on Microsoft's own site that this issue has been discussed.

I have found - as expected - that even if you install .Net 3.5 in Windows 8.0 before performing the Microsoft Store upgrade to Windows 8.1, Windows 8.1 is installed with .Net 3.5 uninstalled.  As I said, I expected this behaviour and would have been rather surprised if this had actually worked.

It seems to me that the easiest fix for this is to re-release both of these HotFixes with better pre-requisite detection and also rebuild the Microsoft Store upgrade image so that these two HotFixes are not included, or alternatively, fix the Windows Update site so that if a Windows 8.1 system with these updates already installed, but .Net 3.5 not yet installed, goes out looking for the .Net 3.5 installation files, it provides a working set of files that will install the .Net 3.5 Feature.

Until then, good luck if you need to get the .Net 3.5 Feature installed on a Windows 8.1 system recently upgraded from Windows 8.0 through the Microsoft Store.

Regards,

The Outspoken Wookie

## Friday, August 15, 2014

### Companyweb on SBS 2003 stopping

We've all had those sites where, for some reason, Companyweb just stops, needs restarting then runs fine for a while and then stops again.  Gotta love it...

Well, I have a site we're in the process of migrating from SBS 2003 to Essentials 2012 R2 + Office 365 where this started happening a few days ago, so I decided to sort out a scheduled script to take care of this for me.

@Echo Off
if exist default.aspx del default.aspx

"C:\Program Files\GnuWin32\bin\wget.exe" --user=administrator --password="Seriously, you think I'd post that on my blog?" --timeout=30 --tries=1 http://CompanyWeb/default.aspx

find /C "SharePoint Team Web Site" default.aspx

IF ERRORLEVEL 1 cscript C:\WINDOWS\system32\iisweb.vbs /start companyweb

I'm running this script every 5 minutes which places bugger all extra load on the server, but means that it isn't long after the Companyweb site stops that it is restarted.

Oh, and run it as "nt authority\system" so it doesn't pop up a command prompt window on the user's desktop (ie, the administrator's desktop).

Regards,

The Outspoken Wookie