Hello all! Can someone explain the way the registry entries are handled for common files? I'm using SuperPIMP installer from Nullsoft (opensource!) and I need to install some common files. I think I have to add the functionality into the installer. I think you add 1 to the proper key if it's already installed and create the key when it hasn't been installed yet. Then when you uninstall it, you decrement the key if the value is greater that 1 and delete the key if your program is the only one using it. Is this correct? BTY, I highly recommend SuperPIMP! It's the best freeware installer out there. It has the most features, it's compact, and it comes with source included! Who could ask for more? Hats off to Justin Frankel!
trey
Posts
-
common files registry settings???? -
dll assumptions?Can I assume any of these dlls will always be on a windows system? Advapi32.dll Gdi32.dll Kernel32.dll Mfc42.dll Msvcrt.dll User32.dll I ran the dependency checker and this is what it listed. However, I thought dlls like kernel32.dll and gdi32.dll should already be on a windows system. How can I check to see what dlls should already be on a system and what dlls I can distribute legally?
-
Launch program when window starts?Just add a string value under the registry key "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\run\" The name of the value can be whatever you want and the string will be the path to your app. Hope this helps.
-
Set CListCtrl row height to zero?Is is possible to set CListCtrl row height to zero? I want to hide some rows. I was wondering if this could be done without having to make my own owner-drawn control.
-
Free Setup ProgramThere is another FREE installer that I would recommend. It's called GP Install and can be downloaded at http://www.qsc.co.uk It can be used for both personal and commercial products. In my opinion it looks just as good as InstallShield and is much easier to use. It has all the features of the pay versions. This isn't my product either, I just use it! :-
-
Current stock picks?I think optical broadband is the wave of the future. They always say, "invest in what you buy" and I don't know to many people that don't want faster internet connections. I recommend JDSU, GBLX, NT, and NOPT! (all deal with broadband
-
Transparent owner-drawn button?Hello all, I'm using a CMacButton that I got from http://codeguru.earthweb.com/controls/macbuttons.shtml The class doesn't automatically support transparency. However, I'm sure it can really easily because another programmer told me it could be done by commenting out the code that clears the area and draws the background. However, I couldn't figure out what to comment out. I'm new to owner drawn controls and I was wondering if someone could help. Thanks in advance.
-
Regarding Installation programI found another great installer that's free. I've found it to be easier to use than pay installer and it has all the features. It's call GP-Install and you can get it at: http://www.qsc.co.uk/ They say that about 5000 applications use it. I would highly recommend checking there before spending any money on a pay installer. It's very professional!
-
What MFC dlls to distribute?I was wondering what MFC dlls need to be included in a program that I use. It only uses CButton, CEdit, and CListCtrl controls. I know that the user will need to have ie4 or greater for the list control, but I'm unsure of what else might be needed. I would like to distribute the app for NT4, 95, and 98. Could someone help me out?
-
CListCtrl not showing all loaded items?I'm still having problems. Can anyone help me please? I'm only using the report mode and I have added the columns correctly. Like I originally stated, I'm able to load the listctrl successfully once.
-
Accessing UPDATE_COMMAND_UI in dialog based applicationWell, since nobody replied to me, I figured that I would post for the sake of everyone else. I found that to update menu items in a dialog, you need to intercept the WM_INITMENU msg. Then do your enabling and disabling. For controls like buttons and such, you can intercept the WM_KICKIDLE msg. Then inside there you can call UpdateDialogControls(). This doesn't call the UPDATE_COMMAND_UI for the menu controls though. That's why you have to intercept WM_INITMENU. Hope this helps. --Trey
-
CListCtrl not showing all loaded items?Ok, I have a database objectthat has two vectors of CStrings. I update the database and then call LoadListData(). Like I said before this is weird! Here is the code to initialize the data: void CMyDlg::LoadListData(CDatabase* database) { // Delete the current contents m_cListCtrl.DeleteAllItems(); // Use the LV_ITEM structure to insert the items LVITEM lvi; lvi.mask = LVIF_TEXT; CString strItem; int numberOfAddresses = database->GetAddressCount(); for (int i = 0; i < numberOfAddresses; i++) { //* CAddress* a = database->GetAddress(i); // Filter if necessary if(m_bFilterOn && a->m_csCategory != m_csFilterCategory) continue; // Insert the first item - First Name lvi.iItem = i; lvi.iSubItem = 0; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csFName); m_cListCtrl.InsertItem(&lvi); // Set subitem 1 - Last Name lvi.iSubItem = 1; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csLName); m_cListCtrl.SetItem(&lvi); // Set subitem 2 - Company lvi.iSubItem = 2; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csCompany); m_cListCtrl.SetItem(&lvi); // Set subitem 3 - Address 1 lvi.iSubItem = 3; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csAddress1); m_cListCtrl.SetItem(&lvi); // Set subitem 4 - Address 2 lvi.iSubItem = 4; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csAddress2); m_cListCtrl.SetItem(&lvi); // Set subitem 5 - City lvi.iSubItem = 5; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csCity); m_cListCtrl.SetItem(&lvi); // Set subitem 6 - State lvi.iSubItem = 6; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csState); m_cListCtrl.SetItem(&lvi); // Set subitem 7 - Zipcode lvi.iSubItem = 7; lvi.pszText = (LPTSTR)(LPCTSTR)(a->m_csZipcode); } }
-
CListCtrl not showing all loaded items?I'm having a weird problem where my CListCtrl doesn't show all the items that I load in it. I'm using a function to load the control initially using LVITEM with InsertItem() followed by SetItem() for all subitems, and this part works. However, as the program is running I have to update the listctrl so I call ResetContent() to clear the rows and then call the initialize function mentioned above to reload everything. The problem is that when I do this, only the first item shows up in every row. Usually the subitems are blank in most of the rows. Some rows do show up correctly, but this is only on a few rows. When I say correctly I mean all subitems are shown with the main row item. Can someone help me with this? Thanks in advance, --Trey
-
Accessing UPDATE_COMMAND_UI in dialog based applicationI need to update the cut, copy, and paste items on the edit menu before the edit menu is shown. However, I'm learning that this doesn't work in a dialog based application. I know there has to be a way to do this. Can someone help me out?