
Con c#
o un archivo por lotes, monto un volumen trueCrypt ubicado en
A:\volumeTrueCrypt.tc
Con c#
yo hago:
static void Main(string[] args)
{
var p = Process.Start(
fileName:@"C:\Program Files\TrueCrypt\TrueCrypt.exe",
arguments:@"/v a:\volumetruecrypt.tc /lw /a /p truecrypt"
);
p.WaitForExit();
}
la alternativa es ejecutar el comando en la línea de comando como:
C:\Windows\system32>"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /lw /a /p truecrypt
De cualquier manera me sale el error:
¿Por qué recibo ese error? Pude ejecutar ese comando la primera vez. En el momento en que desmonté el volumen e intenté montarlo nuevamente, apareció ese error. Sé que la letra de unidad W está disponible porque se muestra como una letra disponible en True crypt si la abro manualmente:
Si hago clic en el botón montar y luego escribo la contraseña truecrypt
(truecrypt es la contraseña), se montará correctamente en la unidad w. ¿Por qué no puedo montarlo desde la línea de comando? Si cambio la letra de la unidad en la línea de comando, funciona. Aunque quiero usar la unidad W. En otras palabras, ejecutar
"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /lz /a /p truecrypt
montará con éxito ese volumen en la unidad z pero no quiero montarlo en la unidad z. Quiero montarlo en la unidad w. La primera vez que ejecuté el lote funcionó bien. Además, si reinicio mi computadora, creo que debería funcionar. Puede encontrar más información sobre cómo usar trueCrypt a través de la línea de comando en:http://www.truecrypt.org/docs/?s=command-line-usage
Editar
También estaba investigando cuándo ocurre este error. Para generar este error es necesario seguir estos pasos.
1) ejecute el comando: (tenga en cuenta el argumento /q al final para silencio)
"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /ln /a /p truecrypt /q
"C...TrueCrypt.exe" = location where trueCrypt is located
/v "path" = location where volume is located
/n = drive letter n
/p truecrypt = password is "trueCrypt"
/q = execute in quiet mode. do not show window
tenga en cuenta que estoy montando en la letra de unidad n
2) ahora se debe montar el volumen.
3) Abra trueCrypt y desmonte manualmente ese volumen (sin usar la línea de comando)
4) Intente ejecutar la misma línea de comando (sin /q para que vea el error)
"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /ln /a /p truecrypt
5) debería aparecer un error
Entonces el problema ocurre cuando desmonto manualmente el volumen. Si lo desmonto de la línea de comando no obtengo errores. Pero creo que esto es un error de trueCrypt.
Respuesta1
Envié el informe de error a trueCrypt. Sin embargo, encontré cómo replicar el problema. Si desmonta un volumen de un programa que no tiene derechos de administrador y luego intenta montar el mismo volumen en la misma unidad con un programa que tiene derechos de administrador, no funciona. Lo mismo sucede si lo haces al revés. En resumen, si siempre monta y desmonta sin privilegios de administrador, está bien.
En mi caso estaba creando un programa que se ejecutaba con privilegios de administrador. Y cada vez que ejecutaba TrueCrypt.exe tenía problemas porque trueCrypt.exe se ejecutaba sin privilegios de administrador. Lo que tengo que hacer para solucionar el problema fue cambiar:
ahora mi programa y trueCrypt.exe se ejecutarán con privilegios de administrador y ahora no tengo problemas;)