jatpat / omaha

Automatically exported from code.google.com/p/omaha
Apache License 2.0
0 stars 0 forks source link

Visual Studio 2010 support (feature request) #40

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Google omaha can't be build with newest Visual Studio 2010. The biggest problem 
is that it can be even build if Visual Studio 2005/2008 is installed together 
with Visual Studio 2010 (There is some autodetection which always prefers to 
use VS 2010)

I did several experiments to build this software using Visual Studio 2010, but 
I always failed, although I solved some things.

So, is VS 2010/2012 support planned in the future? When it's expected to be 
done?

Thanks!

Original issue reported on code.google.com by kobalicek.petr on 9 Aug 2012 at 11:05

GoogleCodeExporter commented 9 years ago
Open omaha\third_party\smartany\smart_any_fwd.h and replace all appearances of 
"static_assert" with some other string, such as "my_static_assert" -- this 
should allow you to build with VS2010.

The problem is that VC2010 included partial support for C++11; in that version 
of the language, static_assert becomes a language keyword.  There's no way to 
disable this support in 2010, so you'll have to modify that code.  We'll make 
this change ourselves in the official sources shortly.

Feel free to change the Status of the bug back to Open if this doesn't work for 
you. :)

Original comment by ryanmyers@google.com on 9 Aug 2012 at 11:21

GoogleCodeExporter commented 9 years ago
Hi,

changing static_assert is not enough to successfully compile omaha. Yesterday I 
finished with changes to make compilation under Visual Studio 2010 possible and 
there were more things to change, but it compiled and all unit tests passed.

I will send patches when we are done.

Original comment by kobalicek.petr on 10 Aug 2012 at 5:17

GoogleCodeExporter commented 9 years ago
Hi Ryan,

following patch can be used to make compilation under Visual Studio 2010 
possible. Gtest and gmock libraries under third_party have to be updated to 
newer versions to be successful.

Apply to omaha/base.

Please review the patch and tell me if you have any questions.

Thanks!

Original comment by kobalicek.petr on 10 Sep 2012 at 5:16

Attachments:

GoogleCodeExporter commented 9 years ago
Hi Petr,

I have applied your patch, and updated gtest and gmock to the latest versions 
(1.6.0), but am still unable to build using VS 2010.

I see the following errors:

________Compiling scons-out\dbg-win\obj\mi_exe_stub\mi_mi.obj
mi.cc
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE\atlalloc.h
(493) : error C2220: warning treated as error - no 'object' file generated
.........
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE\atlcomcli.
h(1751) : error C2338: CVarTypeInfo< char > cannot be compiled with /J or _CHAR_
UNSIGNED flag enabled
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE\atlcomcli.
h(1774) : error C2338: CVarTypeInfo< char* > cannot be compiled with /J or _CHAR
_UNSIGNED flag enabled

I also get a whole load of warnings about "nonstandard extension used: throw 
(...)"

Just wondering if you saw these issues previously, and did something else to 
fix?

Thanks for your efforts so far - there are not enough people sharing the 
knowledge on Omaha!

Original comment by nick.cha...@nichesolutions.co.uk on 25 Sep 2012 at 3:57

GoogleCodeExporter commented 9 years ago
Hi, I think that you can solve this by doing following:

1. Edit main.scons CPPPATH variable and add somewhere path where is ATL, not 
that ATL from Visual Studio 2010, omaha requires atlserver or how is that 
called:

    # Where to look for include files.
    CPPPATH = [
        '$MAIN_DIR',
        '$MAIN_DIR/..',
        '$MAIN_DIR/../thirdparty/atlmfc/include',
        '$MAIN_DIR/third_party/chrome',
        '$MAIN_DIR/third_party/gtest/include',
        ],

2. Turn warnings off

        '/wd4986',  # Exception specification does not match previous declaration.
        '/wd4987',  # Nonstandard extension used: 'throw (...)'

3. Disable "warnings as errors"

        # '/WX',    # warnings as errors

Hope that helps :)

Original comment by kobalicek.petr on 25 Sep 2012 at 4:07

GoogleCodeExporter commented 9 years ago
Thanks, Petr. Worked perfectly! :)

Original comment by nick.cha...@nichesolutions.co.uk on 25 Sep 2012 at 5:03

GoogleCodeExporter commented 9 years ago
Why is this WontFix? Community did it, why it can't be official?

Original comment by kobalicek.petr on 28 Feb 2013 at 4:13

GoogleCodeExporter commented 9 years ago
Reopened the bug.

Original comment by so...@google.com on 28 Feb 2013 at 5:25

GoogleCodeExporter commented 9 years ago
Can Omaha work fine with vs2010?
I build Omaha with vs2010.
Before I customized it, I use google product to test it. 
After downloading completes, Omaha crashes. 

Original comment by mmange...@gmail.com on 7 Mar 2013 at 6:28

GoogleCodeExporter commented 9 years ago
If the code builds with vs2010 I expect it to run ok. Would you be able to 
debug, get a  stack trace, and see where it crashes?

Original comment by so...@chromium.org on 7 Mar 2013 at 6:38

GoogleCodeExporter commented 9 years ago
i do as above, and i received bug report as below

scons: Reading SConscript files ...
Using precompiled headers.
Building versions: 1.3.23.0
python D:\omaha\tools\proxy_clsid_utils.py
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: scons-out
________Linking scons-out\dbg-win\obj\goopdate\goopdate_unsigned.dll
Using tempfile c:\users\aser\appdata\local\temp\tmpszwaci.lnk for command line:
link /nologo /MACHINE:X86 /nologo /SUBSYSTEM:WINDOWS /MACHINE:X86 /RELEASE /MAP 
/NODEFAULTLIB /DYNAMICBASE /NXCOMPAT /SAFESEH /DEBUG /DELAYLOAD:oleaut32.dll 
/DELAYLOAD:psapi.dll /DELAYLOAD:rasapi32.dll /DELAYLOAD:shell32.dll 
/DELAYLOAD:shlwapi.dll /DELAYLOAD:userenv.dll /DELAYLOAD:version.dll 
/DELAYLOAD:wtsapi32.dll /INCLUDE:_WSAStartup@8 /BASE:0x18000000 /dll /nologo 
/SUBSYSTEM:WINDOWS /MACHINE:x86 
/out:scons-out\dbg-win\obj\goopdate\goopdate_unsigned.dll 
/implib:scons-out\dbg-win\obj\goopdate\goopdate_unsigned.lib 
/LIBPATH:scons-out\dbg-win\lib advapi32.lib comdlg32.lib gdi32.lib kernel32.lib 
odbc32.lib odbccp32.lib ole32.lib oleaut32.lib shell32.lib user32.lib uuid.lib 
winspool.lib D:\omaha\scons-out\dbg-win/lib/base.lib 
D:\omaha\scons-out\dbg-win/lib/breakpad.lib 
D:\omaha\scons-out\dbg-win/lib/client.lib 
D:\omaha\scons-out\dbg-win/lib/common.lib 
D:\omaha\scons-out\dbg-win/lib/core.lib 
D:\omaha\scons-out\dbg-win/lib/google_update_recovery.lib 
D:\omaha\scons-out\dbg-win/lib/goopdate_lib.lib 
D:\omaha\scons-out\dbg-win/lib/logging.lib 
D:\omaha\scons-out\dbg-win/lib/net.lib 
D:\omaha\scons-out\dbg-win/lib/omaha3_idl.lib 
D:\omaha\scons-out\dbg-win/lib/security.lib 
D:\omaha\scons-out\dbg-win/lib/service.lib 
D:\omaha\scons-out\dbg-win/lib/setup.lib 
D:\omaha\scons-out\dbg-win/lib/statsreport.lib 
D:\omaha\scons-out\dbg-win/lib/ui.lib atlsd.lib libcmtd.lib libcpmtd.lib 
bits.lib comctl32.lib crypt32.lib delayimp.lib iphlpapi.lib msi.lib msimg32.lib 
mstask.lib netapi32.lib psapi.lib rasapi32.lib rpcns4.lib rpcrt4.lib 
shlwapi.lib taskschd.lib version.lib userenv.lib wininet.lib wintrust.lib 
ws2_32.lib wtsapi32.lib 
/PDB:scons-out\dbg-win\obj\goopdate\goopdate_unsigned.pdb /DEBUG 
/def:goopdate\goopdate.def scons-out\dbg-win\obj\goopdate\main.obj 
scons-out\dbg-win\obj\goopdate\goopdate.res 
scons-out\dbg-win\obj\goopdate\goopdate_version.res 
scons-out\dbg-win\obj\goopdate\goopdate_unsigned_pch.obj 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_am.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ar.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_bg.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_bn.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ca.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_cs.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_da.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_de.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_el.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_en.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_en-GB.
res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_es.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_es-419
.res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_et.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_fa.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_fi.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_fil.re
s 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_fr.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_gu.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_hi.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_hr.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_hu.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_id.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_is.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_it.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_iw.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ja.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_kn.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ko.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_lt.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_lv.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ml.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_mr.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ms.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_nl.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_no.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_pl.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_pt-BR.
res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_pt-PT.
res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ro.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ru.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_sk.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_sl.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_sr.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_sv.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_sw.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ta.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_te.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_th.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_tr.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_uk.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_ur.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_vi.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_zh-CN.
res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_zh-TW.
res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_or.res

scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_userde
fault.res 
scons-out\dbg-win\obj\goopdate\resources\goopdate_dll\generated_resources_zh-HK.
res
________Linking 
scons-out\dbg-win\obj\plugins\update\npGoogleUpdate3_unsigned.dll
   正在创建库 scons-out\dbg-win\obj\goopdate\goopdate_unsigned.lib 和对象 scons-out\dbg-win\obj\goopdate\goopdate_unsigned.exp
base.lib(exception_barrier_lowlevel.obj) : error LNK2001: 
无法解析的外部符号 ExceptionBarrierHandler
scons-out\dbg-win\obj\goopdate\goopdate_unsigned.dll : fatal error LNK1120: 1 
个无法解析的外部命令
________Creating library 
scons-out\dbg-win\obj\recovery\repair_exe\repair_goopdate.lib
   正在创建库 scons-out\dbg-win\obj\plugins\update\npGoogleUpdate3_unsigned.lib 和对象 scons-out\dbg-win\obj\plugins\update\npGoogleUpdate3_unsigned.exp
base.lib(exception_barrier_lowlevel.obj) : error LNK2001: 
无法解析的外部符号 ExceptionBarrierHandler
scons-out\dbg-win\obj\plugins\update\npGoogleUpdate3_unsigned.dll : fatal error 
LNK1120: 1 个无法解析的外部命令
________Compiling 
scons-out\dbg-win\obj\recovery\repair_exe\custom_action\execute_repair_file.obj
execute_repair_file.cc
scons: building terminated because of errors.

the chinese charaters means can not get the sybol***?

Original comment by batterma...@163.com on 28 May 2013 at 8:59

GoogleCodeExporter commented 9 years ago
Google omaha can't be build also with newest Visual Studio 2012.

Original comment by kohan...@noknok.com on 3 Jul 2013 at 1:05

GoogleCodeExporter commented 9 years ago
Omaha will successful build if Visual Studio 2008 is installed together with 
Visual Studio 2012.
Result for Omaha build when installed only Visual Studio 2012:
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ATLMFC\INCLUDE\atldef.h(76): fatal error C1189: #error : ATL doesn't support compilation with /J or _CHAR_UNSIGNED flag enabled

Original comment by kohan...@noknok.com on 4 Jul 2013 at 7:33

GoogleCodeExporter commented 9 years ago
Hi,
I have applied patch which include in above comment, and also changed in 
main.scons file which suggested by petr, but am still unable to build omaha 
using VS 2010.

I see the following errors:

C:\Program Files (x86)\Microsoft Visual Studio 
10.0\VC\ATLMFC\INCLUDE\atlcomcli.h(1751) : error C2338: CVarTypeInfo< cha
r > cannot be compiled with /J or _CHAR_UNSIGNED flag enabled
C:\Program Files (x86)\Microsoft Visual Studio 
10.0\VC\ATLMFC\INCLUDE\atlcomcli.h(1774) : error C2338: CVarTypeInfo< cha
r* > cannot be compiled with /J or _CHAR_UNSIGNED flag enabled
scons: *** [scons-out\dbg-win\obj\mi_exe_stub\mi_mi.obj] Error 2
scons: building terminated because of errors.

Is it required to update gtest and gmock to the latest versions, if yes how it 
is update.

please suggest to me how build it.

Thanks
awinash

Original comment by awinashk...@gmail.com on 29 Aug 2013 at 8:29

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hi Awinash,

my recommendation is not to use Google Omaha. This software has some issues and 
there are no fixes; and as I know Google has an improved version that never 
went to the public.

If you take the time you will spend by customizing Omaha and fixing all the 
bugs & unit tests you should be able to find a better solution (even paid). If 
you, by any reason, decide to continue with Omaha, I recommend you to use 
Visual Studio 2005 as Google did.

Original comment by kobalicek.petr on 29 Aug 2013 at 11:03

GoogleCodeExporter commented 9 years ago
Hi petr,

Thanks for your reply.

is chromium 28 support to generate crash report when browser crash. Google 
chrome support to generate crash report and it send that report to Google 
server.

Original comment by awinashk...@gmail.com on 29 Aug 2013 at 11:34

GoogleCodeExporter commented 9 years ago
#11 this will solve the issue in VS2012
;IF @version LT 800
_ExceptionBarrierHandler PROTO
.SAFESEH _ExceptionBarrierHandler
;ELSE
;ExceptionBarrierHandler PROTO
;.SAFESEH ExceptionBarrierHandler
;ENDIF

Original comment by g...@crossrider.com on 10 Mar 2014 at 4:31

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
i have this error 
16>C:\Program Files (x86)\Microsoft Visual Studio 
10.0\VC\atlmfc\include\atlcomcli.h(1751): error C2338: CVarTypeInfo< char > 
cannot be compiled with /J or _CHAR_UNSIGNED flag enabled
can you help me???

Original comment by alberto....@gmail.com on 11 May 2014 at 11:42

GoogleCodeExporter commented 9 years ago
i install the hotfix in this page that can solve this problem but the error 
isn't fixed

Original comment by alberto....@gmail.com on 11 May 2014 at 12:21

GoogleCodeExporter commented 9 years ago
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?Downloa
dID=33885

Original comment by alberto....@gmail.com on 11 May 2014 at 12:21