Установите ClickOnce без выполнения

Вы пытаетесь обновить пользовательский интерфейс в другом потоке. Вы можете вызвать этот метод для обновления в потоке пользовательского интерфейса.

Device.BeginInvokeOnMainThread(() =>
{
    txtUsuario.Text = myobject.nombreUsuario;
});
9
задан Peter Mortensen 7 June 2013 в 09:18
поделиться

3 ответа

Я предполагаю, что Вы могли фальсифицировать его. Представьте булево свойство "IsInstalled", принял значение по умолчанию ко лжи. Затем в Program.cs, измените свое Основное () метод для сходства с этим:

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    if (!Properties.Settings.Default.IsInstalled)
    {
        Properties.Settings.Default.IsInstalled = true;
        Properties.Settings.Default.Save();

        MessageBox.Show("Install Complete");
        return;
    }

    Application.Run(new Form1());
}

Таким образом, теперь, когда приложение сначала установлено, оно проверяет, что свойство и просто отображает сообщение пользователю и затем выходит.

Если бы Вы хотели стать хитрыми затем, то Вы могли бы посмотреть на парсинг Активации URI для развертывания и иметь параметр URI, который указывает, должна ли программа работать, когда это сначала установлено или просто близко тихо.

4
ответ дан 4 December 2019 в 19:36
поделиться

Для отключения автоматического запуска после установки Вы просто отключаете активацию URL, как обсуждено в статье MSDN Как к: Отключите Активацию URL Приложений ClickOnce (использующий инструмент MageUI.exe).

Отключить активацию URL для Вашего приложения

  • Выберите вкладку Deployment Options.

  • Очистите Автоматически запущенное приложение после установки флажка.

  • Сохраните и подпишите декларацию.

8
ответ дан 4 December 2019 в 19:36
поделиться

Можно сделать это путем редактирования декларации приложения в Волшебнике. Существует флажок для остановки приложения, бегущего за установкой.

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

using System.Deployment.Application

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    if (ApplicationDeployment.CurrentDeployment.IsFirstRun)
    {
        MessageBox.Show("Install Complete");
        return;
    }

    Application.Run(new Form1());
}
0
ответ дан 4 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

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