This can't work on any system because you have to use NetOffice instead of interop.
Replace Interop:
Microsoft.Office.Interop.Visio.Application application = new Microsoft.Office.Interop.Visio.Application(null, visioProxy);
With NetOffice:
NetOffice.VisioApi.Application application = new NetOffice.VisioApi.Application(null, visioProxy);
Moreover you can use a ctor without arguments directly:
NetOffice.VisioApi.Application application = new NetOffice.VisioApi.Application();
Now, NetOffice want fetch the type and create the instance for you.
*Sebastian
Replace Interop:
Microsoft.Office.Interop.Visio.Application application = new Microsoft.Office.Interop.Visio.Application(null, visioProxy);
With NetOffice:
NetOffice.VisioApi.Application application = new NetOffice.VisioApi.Application(null, visioProxy);
Moreover you can use a ctor without arguments directly:
NetOffice.VisioApi.Application application = new NetOffice.VisioApi.Application();
Now, NetOffice want fetch the type and create the instance for you.
*Sebastian