This doesn't sound unreasonable to me, especially as a solo developer. I think it's important to make sure your customers understand that they may not be able to download their installer in the future.
Perhaps sending an email reminder _n_ days before expiration of their one year free maintenance and reminding them of that (and perhaps offering an upsell to renew for an additional year of maintenance)