CreateTextFile no funciona cuando hta está configurado para abrirse como bloc de notas por defecto (javascripting)

Tengo un problema realmente extraño cuando intento crear un archivo de texto usando javascripting y un archivo hta.

Este es el código desglosado a lo básico:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>

alert("creating file");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("test.txt", true);
s.WriteLine("it works");
s.Close();
alert("file created");
</script>
</head>

<body>
</body>
</html>

Esto está en un archivo hta llamado "Untitled.hta" Siempre que configure Open With> Choose Default Program en "Microsoft (R) HTML Application Host" y luego abra el archivo hta, el archivo de texto se creará muy bien.

Pero si configuro Abrir con> Elegir programa predeterminado en "Bloc de notas" y luego en Abrir con "Microsoft (R) HTML Application Host", el archivo de texto no se creará.

¿Alguien sabe por qué ocurre esto? Normalmente no importa, pero si un cliente tiene archivos hta configurados para abrirse como bloc de notas de forma predeterminada, entonces mi archivo hta no funcionará como se esperaba.

Para complicar más las cosas reemplazar

var s = fso.CreateTextFile("test.txt", true);

con

var s = fso.CreateTextFile("TestFolder/test.txt", true);

y donde se encuentra el archivo hta, cree una carpeta llamada "TestFolder"

Si hace lo mismo que hizo antes, tenerlo configurado como Bloc de notas como predeterminado da el error de Ruta no encontrada (pero funciona bien si el valor predeterminado está configurado como Microsoft (R) HTML Application Host)

Respuestas a la pregunta(1)

Su respuesta a la pregunta