Click here to Skip to main content
15,894,825 members
Articles / Desktop Programming / ATL

Increment File and Product Version Number - Multiple IDE

Rate me:
Please Sign up or sign in to vote.
4.58/5 (32 votes)
21 Oct 2008CPOL12 min read 293.6K   1.2K   134  
An add-in to automatically increment the FileVersion and ProductVersion fields in your application's resource file. Works in VC6 and VS2005, and probably all versions in between.

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Tue Mar 18 20:11:17 2008
 */
/* Compiler settings for .\IncVersion.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __IncVersion_h__
#define __IncVersion_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __CoAddIn_FWD_DEFINED__
#define __CoAddIn_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoAddIn CoAddIn;
#else
typedef struct CoAddIn CoAddIn;
#endif /* __cplusplus */

#endif 	/* __CoAddIn_FWD_DEFINED__ */


#ifndef __CoDSAddIn_FWD_DEFINED__
#define __CoDSAddIn_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoDSAddIn CoDSAddIn;
#else
typedef struct CoDSAddIn CoDSAddIn;
#endif /* __cplusplus */

#endif 	/* __CoDSAddIn_FWD_DEFINED__ */


#ifndef __IDSCommands_FWD_DEFINED__
#define __IDSCommands_FWD_DEFINED__
typedef interface IDSCommands IDSCommands;
#endif 	/* __IDSCommands_FWD_DEFINED__ */


#ifndef __CoDSCommands_FWD_DEFINED__
#define __CoDSCommands_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoDSCommands CoDSCommands;
#else
typedef struct CoDSCommands CoDSCommands;
#endif /* __cplusplus */

#endif 	/* __CoDSCommands_FWD_DEFINED__ */


#ifndef __CoDSAppEvents_FWD_DEFINED__
#define __CoDSAppEvents_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoDSAppEvents CoDSAppEvents;
#else
typedef struct CoDSAppEvents CoDSAppEvents;
#endif /* __cplusplus */

#endif 	/* __CoDSAppEvents_FWD_DEFINED__ */


#ifndef __CoDTEAddIn_FWD_DEFINED__
#define __CoDTEAddIn_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoDTEAddIn CoDTEAddIn;
#else
typedef struct CoDTEAddIn CoDTEAddIn;
#endif /* __cplusplus */

#endif 	/* __CoDTEAddIn_FWD_DEFINED__ */


#ifndef __CoPropPageCtl_FWD_DEFINED__
#define __CoPropPageCtl_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoPropPageCtl CoPropPageCtl;
#else
typedef struct CoPropPageCtl CoPropPageCtl;
#endif /* __cplusplus */

#endif 	/* __CoPropPageCtl_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 


#ifndef __IncVersionLib_LIBRARY_DEFINED__
#define __IncVersionLib_LIBRARY_DEFINED__

/* library IncVersionLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_IncVersionLib;

EXTERN_C const CLSID CLSID_CoAddIn;

#ifdef __cplusplus

class DECLSPEC_UUID("b69bfd01-851a-4401-bcfd-1151cfa5e108")
CoAddIn;
#endif

EXTERN_C const CLSID CLSID_CoDSAddIn;

#ifdef __cplusplus

class DECLSPEC_UUID("05654755-8f5c-435f-a226-8c119b687eab")
CoDSAddIn;
#endif

#ifndef __IDSCommands_INTERFACE_DEFINED__
#define __IDSCommands_INTERFACE_DEFINED__

/* interface IDSCommands */
/* [object][dual][helpstring][uuid] */ 


EXTERN_C const IID IID_IDSCommands;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fa706fa7-506c-4e96-9be7-ba83fd298934")
    IDSCommands : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE IncVersion( void) = 0;
        
        virtual /* [helpstring][id] */ void STDMETHODCALLTYPE Configure( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDSCommandsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDSCommands * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDSCommands * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDSCommands * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDSCommands * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDSCommands * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDSCommands * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDSCommands * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *IncVersion )( 
            IDSCommands * This);
        
        /* [helpstring][id] */ void ( STDMETHODCALLTYPE *Configure )( 
            IDSCommands * This);
        
        END_INTERFACE
    } IDSCommandsVtbl;

    interface IDSCommands
    {
        CONST_VTBL struct IDSCommandsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDSCommands_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDSCommands_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDSCommands_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDSCommands_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDSCommands_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDSCommands_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDSCommands_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDSCommands_IncVersion(This)	\
    (This)->lpVtbl -> IncVersion(This)

#define IDSCommands_Configure(This)	\
    (This)->lpVtbl -> Configure(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ void STDMETHODCALLTYPE IDSCommands_IncVersion_Proxy( 
    IDSCommands * This);


void __RPC_STUB IDSCommands_IncVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ void STDMETHODCALLTYPE IDSCommands_Configure_Proxy( 
    IDSCommands * This);


void __RPC_STUB IDSCommands_Configure_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDSCommands_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CoDSCommands;

#ifdef __cplusplus

class DECLSPEC_UUID("226a69d3-6f1a-4533-870e-b55b1a874cec")
CoDSCommands;
#endif

EXTERN_C const CLSID CLSID_CoDSAppEvents;

#ifdef __cplusplus

class DECLSPEC_UUID("705f31e4-ea39-44f6-b321-14c1bd782dab")
CoDSAppEvents;
#endif

EXTERN_C const CLSID CLSID_CoDTEAddIn;

#ifdef __cplusplus

class DECLSPEC_UUID("e4a5d3b0-27e5-448d-9d20-b06060c80c63")
CoDTEAddIn;
#endif

EXTERN_C const CLSID CLSID_CoPropPageCtl;

#ifdef __cplusplus

class DECLSPEC_UUID("f8e9744f-84bb-428f-bd6f-1eed32362849")
CoPropPageCtl;
#endif
#endif /* __IncVersionLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United Kingdom United Kingdom
Ok, it's about time I updated this profile. I still live near 'Beastly' Eastleigh in Hampshire, England. However I have recently been granted a permamant migration visa to Australia - so if you're a potential employer from down under and like the look of me, please get in touch.
Still married - just, still with just a son and daughter. But they are now 8 and 7 resp and when together they have the energy of a nuclear bomb.
I worked at Teleca UK for over 8.5 years (but have now moved to TikitTFB) and have done loads of different things. Heavily involved with MFC, SQL, C#, The latest is ASP.NET with C# and Javascript. Moving away from Trolltech Qt3 and 4.
Jordan.

Comments and Discussions