kofemann / ms-nfs41-client

NFSv4.1/pNFS client for Windows 7 developed by CITI, UMICH.
GNU Lesser General Public License v3.0
90 stars 35 forks source link

Cannot open files in most programs; cannot save changes with Notepad, etc #4

Closed contentfree closed 6 years ago

contentfree commented 6 years ago

I thought I was golden having installed all of this, but turns out I was wrong.

I'm not able to actually use any files. I have an NFSv4.1 mounted filesystem (AWS EFS) and I can browse the entire directory structure just fine.

I have a test file in the root – just a plain text file – but I'm unable to even open it in Wordpad: image

I am able to open the same file in Notepad, but attempting to save any changes results in: image

Notepad then prompts me to save it to another file. Which I'm able to do! However, once I try to edit that file, it gives me the same error message above.

Here's the debug output (default level) using --noldap --uid 1000 --gid 1000:

0f5c: parsing NFS41_OPEN: filename='\test.txt' access mask=1179785 access mode=3
        file attrs=0x20 create attrs=0x60 (kernel) disposition=1
        open_owner_id=517 mode=0 srv_open=FFFFC0000E9712F8 symlink= ea=0000000000000000
0f5c: map_user_to_ids: mapping user Administrator
0f5c: creating with mod 0
0f5c: writing downcall: xid=1913 opcode=NFS41_OPEN status=0 get_last_error=0
0b9c: parsing NFS41_READ len=7 offset=0 buf=0000000000840000
0b9c: map_user_to_ids: mapping user Administrator
0b9c: writing downcall: xid=1914 opcode=NFS41_READ status=0 get_last_error=0
0df8: parsing NFS41_CLOSE: remove=0 srv_open=e9712f8 renamed=0 filename=''
0df8: map_user_to_ids: mapping user Administrator
0df8: writing downcall: xid=1915 opcode=NFS41_CLOSE status=0 get_last_error=0
0b2c: parsing NFS41_OPEN: filename='\test.txt\desktop.ini' access mask=1179785 access mode=7
        file attrs=0x20 create attrs=0x64 (kernel) disposition=1
        open_owner_id=518 mode=0 srv_open=FFFFC0000803FD88 symlink= ea=0000000000000000
0b2c: map_user_to_ids: mapping user Administrator
0b2c:
################ NFS4ERR_NOTDIR ################

0b2c: COMPOUND failed with status 20.
0b2c: writing downcall: xid=1916 opcode=NFS41_OPEN status=87 get_last_error=0
0f3c: parsing NFS41_OPEN: filename='\test.txt\desktop.ini' access mask=1179785 access mode=7
        file attrs=0x20 create attrs=0x64 (kernel) disposition=1
        open_owner_id=519 mode=0 srv_open=FFFFC0000E96A2F8 symlink= ea=0000000000000000
0f3c: map_user_to_ids: mapping user Administrator
0f3c:
################ NFS4ERR_NOTDIR ################

0f3c: COMPOUND failed with status 20.
0f3c: writing downcall: xid=1917 opcode=NFS41_OPEN status=87 get_last_error=0
044c: parsing NFS41_OPEN: filename='\' access mask=1048705 access mode=7
        file attrs=0x20 create attrs=0x20 (kernel) disposition=1
        open_owner_id=520 mode=0 srv_open=FFFFC00007FECDB8 symlink= ea=0000000000000000
044c: map_user_to_ids: mapping user Administrator
044c: Opening a directory
044c: writing downcall: xid=1918 opcode=NFS41_OPEN status=0 get_last_error=0
0eec: parsing NFS41_DIR_QUERY: info_class=37 buf_len=632 filter='test.txt'
        Initial\Restart\Single 1\1\1 buf=0000000000840030
0eec: map_user_to_ids: mapping user Administrator
0eec: -> handle_nfs41_dirquery(test.txt,1,1,1)
0eec: initializing the 1st readdir cookie
0eec: we don't need to save a cookie
0eec: <- handle_nfs41_dirquery(test.txt,1,1,1) returning 0eec: success!
0eec: writing downcall: xid=1919 opcode=NFS41_DIR_QUERY status=0 get_last_error=0
0328: parsing NFS41_CLOSE: remove=0 srv_open=7fecdb8 renamed=0 filename=''
0328: map_user_to_ids: mapping user Administrator
0328: writing downcall: xid=1920 opcode=NFS41_CLOSE status=0 get_last_error=0
0d54: parsing NFS41_OPEN: filename='\test.txt' access mask=128 access mode=7
        file attrs=0x20 create attrs=0x200000 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC0000E96A2F8 symlink= ea=0000000000000000
0d54: map_user_to_ids: mapping user Administrator
0d54: Open call that wants to manage attributes
0d54: writing downcall: xid=1921 opcode=NFS41_OPEN status=0 get_last_error=0
0c94: parsing NFS41_FILE_QUERY: info_class=4 buf_len=40 file=\test.txt
0c94: map_user_to_ids: mapping user Administrator
0c94: writing downcall: xid=1922 opcode=NFS41_FILE_QUERY status=0 get_last_error=0
0c94: NFS41_FILE_QUERY: downcall changattr=3
0cb0: parsing NFS41_CLOSE: remove=0 srv_open=e96a2f8 renamed=0 filename=''
0cb0: map_user_to_ids: mapping user Administrator
0cb0: writing downcall: xid=1923 opcode=NFS41_CLOSE status=0 get_last_error=0
0cc8: parsing NFS41_OPEN: filename='\' access mask=1048576 access mode=0
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC00007FD12F8 symlink= ea=0000000000000000
0cc8: map_user_to_ids: mapping user Administrator
0cc8: Opening a directory
0cc8: writing downcall: xid=1924 opcode=NFS41_OPEN status=0 get_last_error=0
0da0: parsing NFS41_CLOSE: remove=0 srv_open=7fd12f8 renamed=0 filename=''
0da0: map_user_to_ids: mapping user Administrator
0da0: writing downcall: xid=1925 opcode=NFS41_CLOSE status=0 get_last_error=0
0de8: parsing NFS41_OPEN: filename='\' access mask=1048577 access mode=7
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=521 mode=0 srv_open=FFFFC0000E96B2F8 symlink= ea=0000000000000000
0de8: map_user_to_ids: mapping user Administrator
0de8: Opening a directory
0de8: writing downcall: xid=1926 opcode=NFS41_OPEN status=0 get_last_error=0
0318: parsing NFS41_DIR_QUERY: info_class=3 buf_len=616 filter='test.txt'
        Initial\Restart\Single 1\0\1 buf=00000000008406B0
0318: map_user_to_ids: mapping user Administrator
0318: -> handle_nfs41_dirquery(test.txt,1,0,1)
0318: initializing the 1st readdir cookie
0318: we don't need to save a cookie
0318: <- handle_nfs41_dirquery(test.txt,1,0,1) returning 0318: success!
0318: writing downcall: xid=1927 opcode=NFS41_DIR_QUERY status=0 get_last_error=0
0d08: parsing NFS41_CLOSE: remove=0 srv_open=e96b2f8 renamed=0 filename=''
0d08: map_user_to_ids: mapping user Administrator
0d08: writing downcall: xid=1928 opcode=NFS41_CLOSE status=0 get_last_error=0
0e2c: parsing NFS41_OPEN: filename='\test.txt' access mask=1179785 access mode=1
        file attrs=0xa0 create attrs=0x60 (kernel) disposition=1
        open_owner_id=522 mode=0 srv_open=FFFFC0000803FD98 symlink= ea=0000000000000000
0e2c: map_user_to_ids: mapping user Administrator
0e2c: creating with mod 0
0e2c:
################ NFS4ERR_NOTSUPP ################

0e2c: COMPOUND failed with status 10004.
0e2c: nfs41_open failed with NFS4ERR_NOTSUPP
0e2c: nfs error NFS4ERR_NOTSUPP not mapped to windows error; returning default error 2
0e2c: writing downcall: xid=1929 opcode=NFS41_OPEN status=2 get_last_error=0
0e14: parsing NFS41_OPEN: filename='\' access mask=1048576 access mode=0
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC00007FE88B8 symlink= ea=0000000000000000
0e14: map_user_to_ids: mapping user Administrator
0e14: Opening a directory
0e14: writing downcall: xid=1930 opcode=NFS41_OPEN status=0 get_last_error=0
0ccc: parsing NFS41_CLOSE: remove=0 srv_open=7fe88b8 renamed=0 filename=''
0ccc: map_user_to_ids: mapping user Administrator
0ccc: writing downcall: xid=1931 opcode=NFS41_CLOSE status=0 get_last_error=0
0f44: parsing NFS41_OPEN: filename='\' access mask=1048577 access mode=7
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=523 mode=0 srv_open=FFFFC0000E96B2F8 symlink= ea=0000000000000000
0f44: map_user_to_ids: mapping user Administrator
0f44: Opening a directory
0f44: writing downcall: xid=1932 opcode=NFS41_OPEN status=0 get_last_error=0
0f48: parsing NFS41_DIR_QUERY: info_class=3 buf_len=616 filter='test.txt'
        Initial\Restart\Single 1\0\1 buf=00000000008407C0
0f48: map_user_to_ids: mapping user Administrator
0f48: -> handle_nfs41_dirquery(test.txt,1,0,1)
0f48: initializing the 1st readdir cookie
0f48: we don't need to save a cookie
0f48: <- handle_nfs41_dirquery(test.txt,1,0,1) returning 0f48: success!
0f48: writing downcall: xid=1933 opcode=NFS41_DIR_QUERY status=0 get_last_error=0
0d0c: parsing NFS41_CLOSE: remove=0 srv_open=e96b2f8 renamed=0 filename=''
0d0c: map_user_to_ids: mapping user Administrator
0d0c: writing downcall: xid=1934 opcode=NFS41_CLOSE status=0 get_last_error=0
0b24: parsing NFS41_OPEN: filename='\Desktop.ini' access mask=1179785 access mode=7
        file attrs=0x20 create attrs=0x60 (kernel) disposition=1
        open_owner_id=524 mode=0 srv_open=FFFFC00007E13D98 symlink= ea=0000000000000000
0b24: map_user_to_ids: mapping user Administrator
0b24:
################ NFS4ERR_NOENT ################

0b24: COMPOUND failed with status 2.
0b24: writing downcall: xid=1935 opcode=NFS41_OPEN status=2 get_last_error=0
0aa8: parsing NFS41_OPEN: filename='\Desktop.ini' access mask=1179785 access mode=7
        file attrs=0x20 create attrs=0x60 (kernel) disposition=1
        open_owner_id=525 mode=0 srv_open=FFFFC00007B7E2F8 symlink= ea=0000000000000000
0aa8: map_user_to_ids: mapping user Administrator
0aa8: writing downcall: xid=1936 opcode=NFS41_OPEN status=2 get_last_error=0
031c: parsing NFS41_OPEN: filename='\AutoRun.inf' access mask=128 access mode=7
        file attrs=0x20 create attrs=0x200000 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC000080EF2F8 symlink= ea=0000000000000000
031c: map_user_to_ids: mapping user Administrator
031c:
################ NFS4ERR_NOENT ################

031c: COMPOUND failed with status 2.
031c: Open call that wants to manage attributes
031c: nfs41_lookup failed with 2
031c: writing downcall: xid=1937 opcode=NFS41_OPEN status=2 get_last_error=0
0d00: parsing NFS41_OPEN: filename='\' access mask=1048705 access mode=7
        file attrs=0x20 create attrs=0x20 (kernel) disposition=1
        open_owner_id=526 mode=0 srv_open=FFFFC00007E412F8 symlink= ea=0000000000000000
0d00: map_user_to_ids: mapping user Administrator
0d00: Opening a directory
0d00: writing downcall: xid=1938 opcode=NFS41_OPEN status=0 get_last_error=0
0c7c: parsing NFS41_DIR_QUERY: info_class=37 buf_len=632 filter='test.txt'
        Initial\Restart\Single 1\1\1 buf=0000000000840200
0c7c: map_user_to_ids: mapping user Administrator
0c7c: -> handle_nfs41_dirquery(test.txt,1,1,1)
0c7c: initializing the 1st readdir cookie
0c7c: we don't need to save a cookie
0c7c: <- handle_nfs41_dirquery(test.txt,1,1,1) returning 0c7c: success!
0c7c: writing downcall: xid=1939 opcode=NFS41_DIR_QUERY status=0 get_last_error=0
0c20: parsing NFS41_CLOSE: remove=0 srv_open=7e412f8 renamed=0 filename=''
0c20: map_user_to_ids: mapping user Administrator
0c20: writing downcall: xid=1940 opcode=NFS41_CLOSE status=0 get_last_error=0
0cc0: parsing NFS41_OPEN: filename='\test.txt' access mask=128 access mode=7
        file attrs=0x20 create attrs=0x200000 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC0000E9E5D98 symlink= ea=0000000000000000
0cc0: map_user_to_ids: mapping user Administrator
0cc0: Open call that wants to manage attributes
0cc0: writing downcall: xid=1941 opcode=NFS41_OPEN status=0 get_last_error=0
0e4c: parsing NFS41_FILE_QUERY: info_class=4 buf_len=40 file=\test.txt
0e4c: map_user_to_ids: mapping user Administrator
0e4c: writing downcall: xid=1942 opcode=NFS41_FILE_QUERY status=0 get_last_error=0
0e4c: NFS41_FILE_QUERY: downcall changattr=3
08c8: parsing NFS41_CLOSE: remove=0 srv_open=e9e5d98 renamed=0 filename=''
08c8: map_user_to_ids: mapping user Administrator
08c8: writing downcall: xid=1943 opcode=NFS41_CLOSE status=0 get_last_error=0
0d98: parsing NFS41_OPEN: filename='\' access mask=128 access mode=7
        file attrs=0x20 create attrs=0x200000 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC0000E96B2F8 symlink= ea=0000000000000000
0d98: map_user_to_ids: mapping user Administrator
0d98: Opening a directory
0d98: writing downcall: xid=1944 opcode=NFS41_OPEN status=0 get_last_error=0
0f00: parsing NFS41_FILE_QUERY: info_class=4 buf_len=40 file=\
0f00: map_user_to_ids: mapping user Administrator
0f00: writing downcall: xid=1945 opcode=NFS41_FILE_QUERY status=0 get_last_error=0
0f00: NFS41_FILE_QUERY: downcall changattr=93
0f40: parsing NFS41_CLOSE: remove=0 srv_open=e96b2f8 renamed=0 filename=''
0f40: map_user_to_ids: mapping user Administrator
0f40: writing downcall: xid=1946 opcode=NFS41_CLOSE status=0 get_last_error=0
0e1c: parsing NFS41_OPEN: filename='\' access mask=1048576 access mode=0
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC000080EF2F8 symlink= ea=0000000000000000
0e1c: map_user_to_ids: mapping user Administrator
0e1c: Opening a directory
0e1c: writing downcall: xid=1947 opcode=NFS41_OPEN status=0 get_last_error=0
06f0: parsing NFS41_CLOSE: remove=0 srv_open=80ef2f8 renamed=0 filename=''
06f0: map_user_to_ids: mapping user Administrator
06f0: writing downcall: xid=1948 opcode=NFS41_CLOSE status=0 get_last_error=0
0c08: parsing NFS41_OPEN: filename='\' access mask=1048576 access mode=0
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC0000803FDB8 symlink= ea=0000000000000000
0c08: map_user_to_ids: mapping user Administrator
0c08: Opening a directory
0c08: writing downcall: xid=1949 opcode=NFS41_OPEN status=0 get_last_error=0
0498: parsing NFS41_CLOSE: remove=0 srv_open=803fdb8 renamed=0 filename=''
0498: map_user_to_ids: mapping user Administrator
0498: writing downcall: xid=1950 opcode=NFS41_CLOSE status=0 get_last_error=0
0558: parsing NFS41_OPEN: filename='\' access mask=1048577 access mode=7
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=527 mode=0 srv_open=FFFFC0000807B2F8 symlink= ea=0000000000000000
0558: map_user_to_ids: mapping user Administrator
0558: Opening a directory
0558: writing downcall: xid=1951 opcode=NFS41_OPEN status=0 get_last_error=0
0ed4: parsing NFS41_DIR_QUERY: info_class=3 buf_len=616 filter='test.txt'
        Initial\Restart\Single 1\0\1 buf=0000000000840C60
0ed4: map_user_to_ids: mapping user Administrator
0ed4: -> handle_nfs41_dirquery(test.txt,1,0,1)
0ed4: initializing the 1st readdir cookie
0ed4: we don't need to save a cookie
0ed4: <- handle_nfs41_dirquery(test.txt,1,0,1) returning 0ed4: success!
0ed4: writing downcall: xid=1952 opcode=NFS41_DIR_QUERY status=0 get_last_error=0
02d8: parsing NFS41_CLOSE: remove=0 srv_open=807b2f8 renamed=0 filename=''
02d8: map_user_to_ids: mapping user Administrator
02d8: writing downcall: xid=1953 opcode=NFS41_CLOSE status=0 get_last_error=0
0b10: parsing NFS41_OPEN: filename='\test.txt' access mask=1179785 access mode=1
        file attrs=0xa0 create attrs=0x60 (kernel) disposition=1
        open_owner_id=528 mode=0 srv_open=FFFFC0000E9812F8 symlink= ea=0000000000000000
0b10: map_user_to_ids: mapping user Administrator
0b10: creating with mod 0
0b10:
################ NFS4ERR_NOTSUPP ################

0b10: COMPOUND failed with status 10004.
0b10: nfs41_open failed with NFS4ERR_NOTSUPP
0b10: nfs error NFS4ERR_NOTSUPP not mapped to windows error; returning default error 2
0b10: writing downcall: xid=1954 opcode=NFS41_OPEN status=2 get_last_error=0
0f04: parsing NFS41_OPEN: filename='\test.txt' access mask=128 access mode=7
        file attrs=0x20 create attrs=0x200000 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC0000801F2F8 symlink= ea=0000000000000000
0f04: map_user_to_ids: mapping user Administrator
0f04: Open call that wants to manage attributes
0f04: writing downcall: xid=1955 opcode=NFS41_OPEN status=0 get_last_error=0
0e3c: parsing NFS41_FILE_QUERY: info_class=4 buf_len=40 file=\test.txt
0e3c: map_user_to_ids: mapping user Administrator
0e3c: writing downcall: xid=1956 opcode=NFS41_FILE_QUERY status=0 get_last_error=0
0e3c: NFS41_FILE_QUERY: downcall changattr=3
0b28: parsing NFS41_CLOSE: remove=0 srv_open=801f2f8 renamed=0 filename=''
0b28: map_user_to_ids: mapping user Administrator
0b28: writing downcall: xid=1957 opcode=NFS41_CLOSE status=0 get_last_error=0
0f28: parsing NFS41_OPEN: filename='\' access mask=1048576 access mode=0
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC00007FE88B8 symlink= ea=0000000000000000
0f28: map_user_to_ids: mapping user Administrator
0f28: Opening a directory
0f28: writing downcall: xid=1958 opcode=NFS41_OPEN status=0 get_last_error=0
0b5c: parsing NFS41_CLOSE: remove=0 srv_open=7fe88b8 renamed=0 filename=''
0b5c: map_user_to_ids: mapping user Administrator
0b5c: writing downcall: xid=1959 opcode=NFS41_CLOSE status=0 get_last_error=0
0790: parsing NFS41_OPEN: filename='\' access mask=1048577 access mode=7
        file attrs=0x0 create attrs=0x21 (kernel) disposition=1
        open_owner_id=529 mode=0 srv_open=FFFFC0000E96A2F8 symlink= ea=0000000000000000
0790: map_user_to_ids: mapping user Administrator
0790: Opening a directory
0790: writing downcall: xid=1960 opcode=NFS41_OPEN status=0 get_last_error=0
0b18: parsing NFS41_DIR_QUERY: info_class=3 buf_len=616 filter='test.txt'
        Initial\Restart\Single 1\0\1 buf=0000000000840C60
0b18: map_user_to_ids: mapping user Administrator
0b18: -> handle_nfs41_dirquery(test.txt,1,0,1)
0b18: initializing the 1st readdir cookie
0b18: we don't need to save a cookie
0b18: <- handle_nfs41_dirquery(test.txt,1,0,1) returning 0b18: success!
0b18: writing downcall: xid=1961 opcode=NFS41_DIR_QUERY status=0 get_last_error=0
0808: parsing NFS41_CLOSE: remove=0 srv_open=e96a2f8 renamed=0 filename=''
0808: map_user_to_ids: mapping user Administrator
0808: writing downcall: xid=1962 opcode=NFS41_CLOSE status=0 get_last_error=0
0634: parsing NFS41_OPEN: filename='\test.txt' access mask=1179785 access mode=1
        file attrs=0xa0 create attrs=0x60 (kernel) disposition=1
        open_owner_id=530 mode=0 srv_open=FFFFC00007FCB888 symlink= ea=0000000000000000
0634: map_user_to_ids: mapping user Administrator
0634: creating with mod 0
0634:
################ NFS4ERR_NOTSUPP ################

0634: COMPOUND failed with status 10004.
0634: nfs41_open failed with NFS4ERR_NOTSUPP
0634: nfs error NFS4ERR_NOTSUPP not mapped to windows error; returning default error 2
0634: writing downcall: xid=1963 opcode=NFS41_OPEN status=2 get_last_error=0
0824: parsing NFS41_OPEN: filename='\' access mask=1048704 access mode=7
        file attrs=0xa0 create attrs=0x20 (kernel) disposition=1
        open_owner_id=0 mode=0 srv_open=FFFFC00007E13DB8 symlink= ea=0000000000000000
0bf8: 0824: map_user_to_ids: mapping user Administrator

There's a lot of noise in there (maybe) and TBH, I can't point attention to anything more than the big errors. I don't know why it's trying to create a file with mod 0 though… maybe that's a clue?

(I know this project is pretty much dead, but you're my only hope Obiwan)

contentfree commented 6 years ago

I wanted to add that I could successfully copy files off of the mount to the local machine and open them just fine. (But not being able to work on the files on the mount is a showstopper w/o some serious rearchitecting…)

contentfree commented 6 years ago

It's possible that https://github.com/kofemann/ms-nfs41-client/blob/edcf7feb855148751ccfecc8331d26bba268b751/daemon/open.c#L425 is part of the problem. AWS EFS (and other Linux NFS servers) disallow anything but OPEN4_SHARE_DENY_NONE. Specifically noted in http://docs.aws.amazon.com/efs/latest/ug/nfs4-unsupported-features.html.

Does that mean I'd have to do a custom build and comment out that definition?

contentfree commented 6 years ago

Yup, that fixed it. I commented out that #define and recompiled (which was not as straight forward a task as expected… I had to use VS2010 – Couldn't get it worked out with VS2015). I also had to use certreq instead of makecert (because the Root Agency certificate is only 512-bit which is no longer valid).

But… I have a working NFSv4.1 client on Windows hooking up with AWS EFS. So that's cool.

kofemann commented 6 years ago

Hej! Good to hear that it works for you.

kofemann commented 6 years ago

I just update project to build with VS2017

https://github.com/kofemann/ms-nfs41-client/tree/vs2017

Can you give it a try?

contentfree commented 6 years ago

Because AWS EFS disallows any share deny value other than OPEN4_SHARE_DENY_NONE I had to comment out that #define. Haven't tried with a new VS.

dark-yak commented 6 years ago

Hi, i try to compile with VS2017 and the project nfs41_drivers does not compile.

The error is MSB3073, the command : call C:\Program Files (x86)\Windows Kits\10\\bin\setenv.bat C:\Program Files (x86)\Windows Kits\10\ fre x64 win7 cd /d C:\projects\ms-nfs41-client\sys build exited with code 9009. nfs41_driver C:\Program Files (x86)\Microsoft Visual studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets

I have the WDK 10.0.14393.0 and it seems that the SETENV.BAT does not exist anymore : https://stackoverflow.com/questions/22191837/setenv-bat-is-missing-windows

Also the command build seems to be deprecated and msbuild has replaced it...

François