Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа не запускается на целевой машине 
:(
    Опции темы
alnight
Дата 22.6.2016, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 29.11.2012

Репутация: нет
Всего: нет



Здравствуйте. У меня 2 вопроса.

Скомпилировал программу на своем компьютере (Windows 8 x64, VS2010).
Но она не запускается на целевой машине (Windows 7 x64/x32, .NET ramework 4.5).

1. Попробовав запустить программу на целевой машине, она нормально заработала, но при выполнении строки с инициализацией srand, вызывает ошибку:

System.DllNotFoundException: Unable to load DLL 'MSVCR100.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

В итоге я понял, что эту ошибку вызывыет строка
Код

srand(time(0) + DateTime::Now.Millisecond);


Правда, поставив vcredist_x86.exe на целевой комп все заработало, но вопрос остался, почему не запускалось раньше, ведь .Net framework был установлен, а значит должно было работать "из коробки"?

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

Код

ManagementObjectSearcher ^searcher = gcnew ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
for each (ManagementObject ^wmi_HD in searcher->Get())
{
    hdd_number += wmi_HD["SerialNumber"]->ToString();
}
MD5 ^md5 = MD5::Create();
array <Byte> ^bufferr = Encoding::UTF8->GetBytes(hdd_number);
try
{
    array <Byte> ^data_byte = md5->ComputeHash(bufferr);
    for (int i = 0; i<data_byte->Length; ++i)
        hdd_numer_hex += data_byte[i].ToString("x2");
}
finally
{
    delete md5;
}


Как устранить появление этой ошибки? Или хотя бы как мне получить серийный номер жесткого диска/проца/материнской платы, чтобы программа запускалась на других компьютерах без проблем?

Включены вот эти файлы:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
#include <UrlMon.h>
#using "System.dll"
#using "WindowsBase.dll"
#using "System.xml.dll"
#using "System.Management.dll"


Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Untitled.png 41,50 Kb
PM MAIL   Вверх
Cuboid
Дата 23.6.2016, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 12.4.2015

Репутация: нет
Всего: нет



Цитата

но вопрос остался, почему не запускалось раньше, ведь .Net framework был установлен, а значит должно было работать "из коробки"?

Вы сами ответили себе на свой вопрос уже:
Цитата

Правда, поставив vcredist_x86.exe на целевой комп все заработало

MSVCR100.dll не относится к .NET Framework, она является частью "Microsoft Visual C++ 2010 Redistributable Package".
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1210 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.