locate ildasm without PATH
git-svn-id: https://svn.apache.org/repos/asf/incubator/npanday/npanday-its/trunk@1608770 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/npanday/its/AbstractNPandayIntegrationTestCase.java b/src/test/java/npanday/its/AbstractNPandayIntegrationTestCase.java
index 8656450..7315a2d 100644
--- a/src/test/java/npanday/its/AbstractNPandayIntegrationTestCase.java
+++ b/src/test/java/npanday/its/AbstractNPandayIntegrationTestCase.java
@@ -425,19 +425,29 @@
}
}
- String value = null;
- try
- {
- value = execute( "ildasm", new String[]{"/text", assembly} );
- disasmExec = "ildasm";
+ String value;
+
+ for (String path : new String[] { System.getenv("ProgramFiles"), System.getenv("ProgramFiles(x86)")}) {
+ File[] versions = new File(path, "Microsoft SDKs\\Windows").listFiles();
+ if (versions != null) {
+ for (File f : versions) {
+ File ildasm = new File(f, "bin\\ildasm.exe");
+ if (ildasm.exists()) {
+ disasmExec = ildasm.getAbsolutePath();
+ }
+ }
+ }
+ }
+ if (disasmExec != null) {
+ value = execute( disasmExec, new String[]{"/text", assembly} );
disasmArg = "/text";
}
- catch ( VerificationException e )
- {
+ else {
value = execute( "monodis", new String[]{assembly} );
disasmExec = "monodis";
disasmArg = null;
}
+
return value;
}