The next code works on other operative systems, but not in Windows Vista:
TaskDefinition td = taskScheduler.NewTask();
td.Actions.Add(Application.ExecutablePath, string.Format("\"{0}\"", configPath));
td.Settings.DisallowStartIfOnBatteries = false;
td.Settings.StopIfGoingOnBatteries = false;
Task task = taskScheduler.RootFolder.RegisterTaskDefinition(taskName, td);
task.Definition.Principal.LogonType = TaskLogonType.Password;
task.Definition.Principal.RunLevel = TaskRunLevel.Highest;
TaskEditDialog editorForm = new TaskEditDialog(task, true, true);
editorForm.ShowDialog();
When clicking on OK button of the Task Edit Dialog, we are prompted to type password of the account. Even if the password is right, we get the error of the screenshot.
Comments: ** Comment from web user: dahall **
The problem seems to be with how the dialog is converting a saved task that is setup as "Interactive" to a "Password" task. I have duplicated your errors and will work through them in the next release. Until then, the following code works and, I believe, accomplished what you are trying to do.
```
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Does something";
td.Principal.LogonType = TaskLogonType.Password;
// Create a trigger that will fire the task at this time every other day
td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });
// Create an action that will launch Notepad whenever the trigger fires
td.Actions.Add(new ExecAction("notepad.exe", "c:\test.log", null));
// Call the dialog with the definition only (not a registered task)
TaskEditDialog editForm = new TaskEditDialog(ts, td, true, true) { TaskName = "Test" };
var r = editForm.ShowDialog();
if (r == System.Windows.Forms.DialogResult.Cancel) return;
Task t = editForm.Task;
// If no exception thrown, then log success
output.WriteLine("Success! Task '{0}' created by '{1}' under '{2}'.", t.Name, t.Definition.RegistrationInfo.Author, t.Definition.Principal);
// Delete task
ts.RootFolder.DeleteTask(@"Test");
```