Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
14 / 14 / 7
Регистрация: 23.10.2012
Сообщений: 43
1

Ошибка при автозапуске приложения из ветки реестра

06.11.2013, 11:31. Показов 2186. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Никто не сталкивался с проблемой, записывает в ветку реестра моё приложение, но при запуске системы появляется такая ошибка:
Ошибка при автозапуске приложения из ветки реестра

писал с autoRun и без него. Не работает в обоих случаях. Если скопировать путь из реестра и вставить в командную строку, то приложение запускается. Данная проблема проверена на нескольких компах...
Само приложение работает без проблем.

Код в приложении по кнопкам:
Добавление
C#
1
2
var key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", true);
key.SetValue("Indikatorpochti", Application.ExecutablePath);
Удаление
C#
1
2
var key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", true);
key.DeleteValue("Indikatorpochti");
Записывает и удаляет без проблем.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2013, 11:31
Ответы с готовыми решениями:

Hide при Автозапуске приложения
Здравствуйте, после включения пк, программа запускается из авто загрузки // в...

Права на ветки реестра
В моей программе вывода дерева для ветки реестра HKLM\\SYSTEM\\CurrentControlSet\\Enum\\USB при...

Мониторинг ветки реестра
Есть ветка HKEY_LOCAL_MACHINE\SOFTWARE\Task_Queue\Parameters\Task_Execution_Duration Что нужно...

Вывод ветки реестра и кодировка
В общем есть такой код. ProcessStartInfo startInfo = new ProcessStartInfo(); ...

5
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
06.11.2013, 11:33 2
nkYellOw, а можно сюда то, что написано в "показать подробности"?
0
14 / 14 / 7
Регистрация: 23.10.2012
Сообщений: 43
06.11.2013, 14:27  [ТС] 3
Файлы, содержащие сведения об этой проблеме:
C:\Users\123\AppData\Local\Temp\WER6355.tmp.WERInternalMetadata.xml
C:\Users\123\AppData\Local\Temp\WER7CDF.tmp.appcompat.txt
C:\Users\123\AppData\Local\Temp\WER7D6C.tmp.mdmp

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink... cid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt
и вот то, что содержится в тхт файле C:\Users\123\AppData\Local\Temp\WER7CDF.tmp.appcompat.txt:

Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="Indikatorpochti.exe" FILTER="CMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="AccessDatabaseEngine.exe" SIZE="26554784" CHECKSUM="0xE5C15558" BIN_FILE_VERSION="14.0.6119.5000" BIN_PRODUCT_VERSION="14.0.6119.0" PRODUCT_VERSION="14.0.6119.5000" FILE_DESCRIPTION="" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="" FILE_VERSION="14.0.6119.5000" ORIGINAL_FILENAME="" INTERNAL_NAME="" LEGAL_COPYRIGHT="© 2010 Microsoft Corporation.  All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x0" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1959529" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="14.0.6119.5000" UPTO_BIN_PRODUCT_VERSION="14.0.6119.0" LINK_DATE="03/14/2012 04:41:59" UPTO_LINK_DATE="03/14/2012 04:41:59" VER_LANGUAGE="Независимо от языка [0x0]" EXE_WRAPPER="0x0" FILE_ID="00000e32a424413e07bad97424be5ebd216407f1e2dc" PROGRAM_ID="000313e3051c1a0d2e2819feec1811782a5500000000" />
    <MATCHING_FILE NAME="AccessDatabaseEngine_x64.exe" SIZE="28631968" CHECKSUM="0xE5C15558" BIN_FILE_VERSION="14.0.6119.5000" BIN_PRODUCT_VERSION="14.0.6119.0" PRODUCT_VERSION="14.0.6119.5000" FILE_DESCRIPTION="" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="" FILE_VERSION="14.0.6119.5000" ORIGINAL_FILENAME="" INTERNAL_NAME="" LEGAL_COPYRIGHT="© 2010 Microsoft Corporation.  All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x0" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1B5CF61" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="14.0.6119.5000" UPTO_BIN_PRODUCT_VERSION="14.0.6119.0" LINK_DATE="03/14/2012 04:41:59" UPTO_LINK_DATE="03/14/2012 04:41:59" VER_LANGUAGE="Независимо от языка [0x0]" EXE_WRAPPER="0x0" FILE_ID="000007025d0d2d5844b742c0abbd14b76c46802cd66b" PROGRAM_ID="0003d9a162c9ab6749ff395369f3c8f632e000000000" />
    <MATCHING_FILE NAME="dotNetFx45_Full_setup.exe" SIZE="1005568" CHECKSUM="0x2CA0C543" BIN_FILE_VERSION="4.5.50709.17929" BIN_PRODUCT_VERSION="4.5.50709.17929" PRODUCT_VERSION="4.5.50709.17929" FILE_DESCRIPTION="Microsoft .NET Framework 4.5 Setup" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft .NET Framework 4.5" FILE_VERSION="4.5.50709.17929" ORIGINAL_FILENAME="dotNetFx45_Full_setup.exe" INTERNAL_NAME="dotNetFx45_Full_setup.exe" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0xFFA78" LINKER_VERSION="0xA0000" UPTO_BIN_FILE_VERSION="4.5.50709.17929" UPTO_BIN_PRODUCT_VERSION="4.5.50709.17929" LINK_DATE="03/12/2012 22:26:42" UPTO_LINK_DATE="03/12/2012 22:26:42" EXPORT_NAME="boxstub.exe" VER_LANGUAGE="Английский (США) [0x409]" EXE_WRAPPER="0x0" FILE_ID="0000f6ba6f03c65c3996a258f58324a917463b2d6ff4" PROGRAM_ID="0003cecae9cb46edf70c6980ef0f7e28416b00000904" />
    <MATCHING_FILE NAME="Indikatorpochti.exe" SIZE="45056" CHECKSUM="0xB3177765" BIN_FILE_VERSION="1.0.0.0" BIN_PRODUCT_VERSION="1.0.0.0" PRODUCT_VERSION="1.0.0.0" FILE_DESCRIPTION="Indikatorpochti" PRODUCT_NAME="Indikatorpochti" FILE_VERSION="1.0.0.0" ORIGINAL_FILENAME="Indikatorpochti.exe" INTERNAL_NAME="Indikatorpochti.exe" LEGAL_COPYRIGHT="Copyright ©  2013" VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.0" UPTO_BIN_PRODUCT_VERSION="1.0.0.0" LINK_DATE="11/06/2013 07:46:59" UPTO_LINK_DATE="11/06/2013 07:46:59" VER_LANGUAGE="Независимо от языка [0x0]" EXE_WRAPPER="0x0" />
</EXE>
<EXE NAME="KERNELBASE.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="KernelBase.dll" SIZE="424448" CHECKSUM="0xC86A2F92" BIN_FILE_VERSION="6.1.7601.18015" BIN_PRODUCT_VERSION="6.1.7601.18015" PRODUCT_VERSION="6.1.7601.18015" FILE_DESCRIPTION="Библиотека клиента Windows NT BASE API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Операционная система Microsoft® Windows®" FILE_VERSION="6.1.7601.18015 (win7sp1_gdr.121129-1432)" ORIGINAL_FILENAME="Kernelbase" INTERNAL_NAME="Kernelbase" LEGAL_COPYRIGHT="© Корпорация Майкрософт. Все права защищены." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x751B6" LINKER_VERSION="0x60001" UPTO_BIN_FILE_VERSION="6.1.7601.18015" UPTO_BIN_PRODUCT_VERSION="6.1.7601.18015" LINK_DATE="11/30/2012 05:43:55" UPTO_LINK_DATE="11/30/2012 05:43:55" EXPORT_NAME="KERNELBASE.dll" VER_LANGUAGE="Русский (Россия) [0x419]" EXE_WRAPPER="0x0" FILE_ID="0000f343ee09dc0a3202bbe46ac367e0ccf96dbc1381" PROGRAM_ID="0000f519feec486de87ed73cb92d3cac802400000000" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="CMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1161216" CHECKSUM="0xED2A37B2" BIN_FILE_VERSION="6.1.7601.18015" BIN_PRODUCT_VERSION="6.1.7601.18015" PRODUCT_VERSION="6.1.7601.18015" FILE_DESCRIPTION="Библиотека клиента Windows NT BASE API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Операционная система Microsoft® Windows®" FILE_VERSION="6.1.7601.18015 (win7sp1_gdr.121129-1432)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Корпорация Майкрософт. Все права защищены." VERDATEHI="0x0" VERDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x123FEF" LINKER_VERSION="0x60001" UPTO_BIN_FILE_VERSION="6.1.7601.18015" UPTO_BIN_PRODUCT_VERSION="6.1.7601.18015" LINK_DATE="11/30/2012 05:43:54" UPTO_LINK_DATE="11/30/2012 05:43:54" EXPORT_NAME="KERNEL32.dll" VER_LANGUAGE="Русский (Россия) [0x419]" EXE_WRAPPER="0x0" FILE_ID="0000a4e4b89dc5351ac364493479fc155579a4a8e1ac" PROGRAM_ID="0000f519feec486de87ed73cb92d3cac802400000000" />
</EXE>
</DATABASE>


возможно программа загружается до того, как загрузились используемые компоненты в винде?
C#
1
2
using System.Data.OleDb;
using ExcelImport = Microsoft.Office.Interop.Excel;
я не особо шарю в этом, но мало ли...
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
06.11.2013, 14:39 4
nkYellOw, если в программе открывается какой-то файл, то открывайте его по полному пути, а не по относительному, т.к. относительный путь определяется по текущей рабочей директории, которая при запуске из реестра будет отличаться от той, где лежит экзешник.
1
14 / 14 / 7
Регистрация: 23.10.2012
Сообщений: 43
06.11.2013, 20:01  [ТС] 5
Цитата Сообщение от kolorotur Посмотреть сообщение
nkYellOw, если в программе открывается какой-то файл, то открывайте его по полному пути, а не по относительному, т.к. относительный путь определяется по текущей рабочей директории, которая при запуске из реестра будет отличаться от той, где лежит экзешник.
в программе считывается ексель файл и к нему прописан полный путь, такой, если бы я его открывал через папки в ручную.
+ подключено три иконки, которые находятся в папке с программой... Попробую убрать картинки и ексель файл, проверить в этом ли проблема, спасибо!
0
14 / 14 / 7
Регистрация: 23.10.2012
Сообщений: 43
08.11.2013, 15:30  [ТС] 6
Цитата Сообщение от kolorotur Посмотреть сообщение
nkYellOw, если в программе открывается какой-то файл, то открывайте его по полному пути, а не по относительному, т.к. относительный путь определяется по текущей рабочей директории, которая при запуске из реестра будет отличаться от той, где лежит экзешник.
Вы были правы! Убрал загрузку из файла, убрал привязки к картинкам и всё заработало. Спасибо огромное! Попытаюсь решить проблему далее...

Добавлено через 2 часа 3 минуты
проблема решилась. В приложении использовалось три картинки, путь которых находился в корне с приложением.
Решение проблемы: прописал полный путь к картинкам и всё заработало!
0
08.11.2013, 15:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2013, 15:30
Помогаю со студенческими работами здесь

Получение имени ветки реестра
подскажите как получить имя вложенной ветки реестра например есть есть ветка реестра...

Поиск раздела (ветки) реестра
Подскажите, подправьте код. Задача - искать в реестре раздел (ветку). Существует или нет. Код...

Рекурсивно удалить ветки реестра
Доброго времени суток Сложилась такая ситуация, есть программа, которая хранит много значений в...

Вывести все ветки реестра
Как вывести все ветки реестра. А также открыть вывести папки что вложены в каждую ветку? Есть метод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru