Okay so I have installed Windows 10 from a USB drive and then Bitcoin Core 0.13.0 from bitcoin.org after verifying the digital signature. Backed up the wallet.dat and the private key I extracted using dumpprivkey on several external USB hard drives. I think this setup should be relatively safe, because the private key has never touched the internet.
One of the issues I'm experiencing is the WiFi driver getting automatically installed after I uninstall it using the device manager, so I just disabled it for now. I hope it's good enough.
Do you guys have any additional advice? and how should I spend the bitcoins when the time comes? import them to an online wallet such as blockchain.info or simply sync the blockchain with bitcoin core?
Thanks for all the answers.
I recommend that you don't use any online wallets, regardless. If you don't want to wait for the blockchain to download, then use an SPV wallet like Electrum.
Okay I will not use blockchain for spending the bitcoins then. is Electrum really that much more secure than it?
Electrum, as with most or all SPV wallets can compromise privacy since it leaks the addresses to the nodes the client connects to. Electrum is safer than Blockchain.info simply because Blockchain.info transfers the private key to their server and Electrum does not. You can use Electrum/Bitcoin Core offline by crafting an unsigned transaction, transfer it to the wallet to sign and broadcast it to the network
As a mentioned above, you can sign the transaction on the offline computer before broadcasting it. For Bitcoin Core, the steps are of below:
1. Go to coinb.in and go to New>Transaction, input all the relevant information. Make sure you include an additional address/your origin address in your wallet to send the change to. Otherwise, the rest of the coins that are unspent will be used as fees.
2. An unsigned hex transaction will be generated, go to Help>Debug Window> Console and use "decoderawtransaction [insert unsigned TX here] to inspect if everything checks out.
3. Next, use "signrawtransaction [unsigned TX here]" to sign it. You can then copy the signed TX and go to coinb.in/#broadcast to broadcast it.
Isn't the most perfect way but I found this the most userfriendly.
For Electrum, look at this:
http://docs.electrum.org/en/latest/coldstorage.html.