module.exports = {
        verifyAndInstall(){
            return getTaskCheckExists(this.shellcmd, { ignorefailures: true })().then((exists) => {
            if(exists) {
              // return any(['git', ['config', '--global', '-l']].map(getshelltask))
              return this.postinstallsteps.bind(this)()
            }
              return this.install();
          });
          },

        acquireElevationState(__isElevated) {
          if (__isElevated === null) {
            return nodeShellExec("fsutil", ["dirty", "query", "C:"], {
              inherit: true
              // , shell: true
              , stdio: 'ignore'
              , env: process.env
              , title: `check privileged execution mode using "fsutil dirty query C:"`
            }).then((exitcode) => {
              console.log('Elevated')
              __isElevated = true;
              return true;
            }).catch(() => {
              __isElevated = false;
              console.log('Not Elevated');
              return false;
            });
          }
          else return Promise.resolve(__isElevated);
        },

}