Упаковка дополнения к Excel - PullRequest
1 голос
/ 07 января 2010

У меня есть надстройка автоматизации для Excel, разработанная с использованием C #. Как мне упаковать и распространить его? Также, когда надстройка установлена ​​впервые, я хочу, чтобы проверка имени пользователя и пароля появлялась впервые.

Как я могу это сделать?

спасибо

1 Ответ

0 голосов
/ 07 января 2010

Visual Studio создает проект установки для каждого проекта надстройки. Вы можете начать с этого. Он создает файл MSI, который вы можете распространять.

О второй части - если вы останетесь со сгенерированной Studio установкой, вы, вероятно, не сможете добавить пользовательские диалоги к установке. Вам понадобится какой-нибудь инструмент для сборки инсталляций.

Как насчет запроса имени пользователя и пароля при первом использовании? Таким образом, установка остается простой. По моему опыту, каждый вопрос во время установки увеличивает риск того, что пользователь скажет «WTF, почему я должен отвечать на эти глупые вопросы. Отмена».

Чтобы запрашивать имя пользователя и пароль при первом использовании, нужно только сохранить их где-то после запроса, чтобы в следующий раз вы их знали. Одобренным способом Microsoft является сохранение их в настройках. По умолчанию Studio создает файл настроек в вашем проекте только для этого. Просто добавьте две переменные в этот файл с пустыми значениями по умолчанию. Отметьте их как пользовательские переменные (не переменные приложения).

Из вашей надстройки получите доступ к ним как Properties.Setings.VariableName.

Когда ваша надстройка запускается, проверьте, есть ли у вас имя пользователя и пароль в настройках. Если они пусты, спросите и сохраните.

if (string.IsNullOrEmpty(Properties.Settings.Default.UserName))
{
   string name;
   string password;
   //ask for name and password, replace with your code
   AskForUserandPassword(out name, out password);
   Properties.Settings.Default.UserName=name;
   Properties.Settings.Default.Password=password;
   Properties.Settings.Default.Save()
}

Физически это сохраняется где-то глубоко в пользовательском каталоге в файле XML.

...