C # настраиваемое действие в Wix

Это комментарий к моему комментарию к ответу stevendaniels (см. выше):

В первом разделе кода выше range.setStart (node, (range .startOffset - 1)); сбой при запуске первого слова в «узле», поскольку он пытается установить диапазон на отрицательное значение. Я попытался добавить логику, чтобы предотвратить это, но затем последующий range.setStart (node, range.startOffset + 1); возвращает все, кроме первой буквы первого слова. Кроме того, когда слова разделяются новой строкой, последнее слово в предыдущей строке возвращается в дополнение к щелкнутому слову. Итак, это требует некоторой работы.

blockquote>

Вот мой код, чтобы сделать код расширения диапазона в этом ответе надежным:

while (range.startOffset !== 0) {                   // start of node
    range.setStart(node, range.startOffset - 1)     // back up 1 char
    if (range.toString().search(/\s/) === 0) {      // space character
        range.setStart(node, range.startOffset + 1);// move forward 1 char
        break;
    }
}

while (range.endOffset < node.length) {         // end of node
    range.setEnd(node, range.endOffset + 1)     // forward 1 char
    if (range.toString().search(/\s/) !== -1) { // space character
        range.setEnd(node, range.endOffset - 1);// back 1 char
        break;
    }
}

11
задан Amith George 31 July 2009 в 17:53
поделиться

2 ответа

Мне жаль, что я зря потратил на это время.

Решение было слишком простым. Я забыл поместить атрибут [CustomAction] в этот конкретный метод. Таким образом, хотя это было последнее действие, которое я написал в моем файле CustomAction.cs, оно было первым, которое вызывалось в InstallExecuteSequence. И из-за этого я ввел себя в заблуждение, думая, что он не может найти файл. Ну, а также тот факт, что я, должно быть, очень хотел спать ...

Так или иначе, в поисках ответа мне удалось натолкнуться на множество хороших ресурсов, особенно серию Алекса Шевчука на Wix . Еще я понял, что мне не нужно устанавливать dll-файл настраиваемого действия. Я просто ссылаюсь на него из своего проекта Wix и указываю путь к нему.

11
ответ дан 3 December 2019 в 09:42
поделиться

Копируется ли UnInstallCA.CA.dll на целевой компьютер во время установки? Похоже, что при деинсталляции его нет.

Если он попал - может ли он работать? (попробуйте запустить его с целевой машины, чтобы увидеть, может ли он делать то, что должен делать - возможно, вам нужно отправить какую-нибудь другую dll, которую вы используете, с этой - или, может быть, какой-нибудь распространяемый пакет)

0
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: