Используя Visual Studio 2008, я создал проект C ++ Win32 . Чтобы выпустить программу, я создал проект установки Visual Studio в том же решении.
setup.exe предлагает моим пользователям установить .NET 3.5 с пакетом обновления 1 (SP1), который часто занимает более 15 минут и разрешен только для учетных записей администратора. Если они этого не делают, то возникает ошибка «неправильная структура». Я запутался из-за того, что в моем проекте требуется .NET 3.5 SP1. Я подозреваю, только потому, что это фреймворк, на котором установлен мой компьютер ... Есть ли способ расширить, на каких фреймворках он будет работать?
Код в основном состоит из вызовов Win32 API. На всякий случай, вот мои зависимости и #includes:
gdiplus.lib
comctl32.lib
Winmm.lib
d3d9.lib
(Проект установки автоматически добавил comdlg32.dll, а затем велит мне исключить его.)
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string.h>
#include <commctrl.h>
#include <process.h>
#include <sstream>
#include <math.h>
#include <d3d9.h>
#include <time.h>
#include <gdiplus.h>
Я предполагаю, что где-то в windows.h есть WIN_VER или аналогичный параметр версии, установленный на .NET 3.5 SP1, и именно отсюда и возникает зависимость. Если это так, и мне нужно определить другую версию, я хотел бы услышать совет от всех о том, что можно / нельзя делать и как, и как далеко я могу пойти для максимального включения.